我是来自C和Matlab的Python新手。我正在创建一个脚本,它生成用于洪水频率分析的日志概率(log probability )图。我使用以下堆栈溢出解决方案进行xaxis概率缩放:
这个解决方案对xaxis非常有用。但是,当我将yaxis缩放为log10时,yaxis标签就会消失。下面是用于创建绘图的代码;“概率”调用引用使用上述堆栈溢出解决方案的概率轴缩放:
# Step 1: load the needed pacakages
import numpy as np
import matplotlib.pyplot as plt
from numpy import ma
from m
我想创建一个有内嵌图形的图形。但是,嵌入并不共享主图形的样式属性。我如何强制嵌入共享主图形的样式属性?我使用的代码如下:
def initializeFigure(xlabel, ylabel, scale= 'loglog',width='1col', height=None):
import matplotlib as mpl
from matplotlib import pyplot as plt
# make sure defaults are used
plt.style.use(['science',
我试图用两个y轴绘制一个图,它们都是对数;Y1是左y轴,Y2是右y轴。这里,Y1的值是通过将Y2值除以要在代码段中定义的some_number来计算的。由于为Y2轴选择的十进制数,该数字看起来不太好:
import numpy as np
from numpy import *
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import rcParams, cm
from matplotlib.ticker import MaxNLocator
#Plotting Decorations
xt
我正在尝试用matplotlib为python制作一个条形图。我可以做一个正常的图表,但当我把它放在对数模式,以便我可以更好地看到数据,x轴看起来好像是压缩。怎么一回事?注意:所有数据记录的最小值为1。
x = [t[0] for t in data]
y = [t[1] for t in data]
x_pos = np.arange(len(x))
plt.bar(x_pos, y, color='blue', log=False)
plt.xlabel(x_label)
plt.ylabel(y_label)
在过去的一天里,我一直试图运行本教程(),并在运行此部分之后不断地出错:
bc.pl.kp_genes(adata, min_genes=min_genes, ax = ax1)
错误如下:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/miniconda3/lib/python3.9/site-packages/besca/pl/_filter_threshold_plots.py", line 57, in k
下面的代码生成类似于此的情节:
我只需要在y轴上显示横线上的勾标。在这种情况下,需要隐藏标签[2,3,4,5]。我试过用
ax.get_yticks()
ax.get_yticklabels()
若要检索绘制的滴答,只需选择要显示的y_min值上方的滴答。这两个命令都不返回绘图中绘制的实际滴答标签。
我该怎么做?
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter
# Some random data
x = np.random.un
我用大量的数据点绘制了几个散点图。在某种程度上,一半的情节只是纯色,你不能很好地看到密度。所以我想把数据“投影”到轴上,并显示一个直方图。
我写了一个小函数来实现这个功能。在axis ax上的一幅图中,它绘制了大熊猫DataFrame frame的column_x和column_y的田地。如果给出了one_track_frame,也会在此基础上绘制。要添加标题和标签等,可以以lambda对象作为参数传递ax。
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits
我在用对数y轴绘制二维散点图上的5个点(x,y)。绘制出了图,但y轴的范围没有很好地选择,因此只显示了一个点。当我移除第一点(0.38,0.005)时,问题就消失了。
这是matplotlib中的一个bug吗?
有人能试着复制这个吗?
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
emissions_abs_pts = np.array([
[0.38, 0.005], # without this point it scales appropriately
[0.42, 0.05]
我有一个二维数字阵列的音频谱图,我想把它保存为图像。
我用库来获取光谱。我也可以用librosa.display.specshow()函数绘制它。如下所示,有许多不同的缩放类型。
import PIL
import librosa
import librosa.display
def display_spectrogram(spectrum, sampling_rate):
"""
Frequency types:
‘linear’, ‘fft’, ‘hz’ : frequency range is determined by the FFT
我试着用Matplotlib做对数标度。如果我手动这样做(下面的图3),我得到了正确的答案,但是如果我使用matplotlib的set_yscale('log')或使用barplot的log属性,我就得到了错误的图。因此,如图1和图2所示,由于log10(y2) =( 5.7363965,5.77815125),这个图是错误的。
以下是一份MWE:
from __future__ import division
import numpy as np
from matplotlib import pyplot as plt
ind = np.array(['US'
我的python代码有问题。我想在一张图片上做一个多个图,但是在一条线上有两个图,在底线上只有一个,但是最下面的一个应该更宽(两个顶部的宽度)。这是我的代码:
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import AutoMinorLocator
import numpy as np
import os
from matplotlib.image import NonUniformImage
from matplotlib.ticker import NullFormatt
我试图在matplotlib的科学符号的偏移量中获取文本,但是get_offset()或get_offset_text()返回一个空字符串。我已经检查过这些问题了,但它们没有起作用:
下面是一个简单的例子:
import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter
import numpy as np
x = np.arange(1,20)
y = np.exp(x)
fig,ax = plt.subplots(1,1)
ax.plot(x,y)
ax.yaxis.set_major