我用matplotlib绘制数据,它在大量周期内具有不同的振幅。在某些时期几乎没有任何振幅(例如0.1的数据分辨率为0.1)。因此,matplotlib以比数据的实际分辨率更精细的分辨率创建记号。在
有没有办法定义刻度之间的最小距离?在
由于数据振幅可能相当高,我不能对所有绘图使用相同的固定距离。我希望自动选择刻度,除了句点以外,它们比0.1更细。在
以下是低振幅周期的MWE,说明了问题:
from matplotlib import pyplot as plt
import matplotlib.ticker as mtick
x = range(10)
y = [0.1,0.1,0.1,0.1,0.1,0.1,0.2,0.1,0.1,0.1]
fig,ax = plt.subplots()
ax.plot(x,y)
因此:
在本例中,我只希望刻度为0.1和0.2。在
你可以计算最小值和最大值之间的差值。如果该差值小于某个数字,则创建间距为0.1的记号列表,否则创建间距为1的记号。在
例如:
会给出:
但是使用范围更大的y数据:
^{2}$给出:
相关问题 更多 >
编程相关推荐