loglog matplotlib 图上的标记

markers on loglog matplotlib figure

我在 matplotlib 中以 loglog 比例绘制多条曲线,为了使它们易于区分,我使用了标记。由于有很多数据点,我使用markevery=100。但是在对数刻度的水平轴上,这些会聚集在一起。有没有办法让标记 space 也以对数方式输出?

不是为 markevery 指定一个整数,它会在每个 N 个数据点放置一个标记,而是使用一个浮点数来确保这些点沿线等距分布(无论是否使用线性或对数刻度)。

every=0.1, (i.e. a float) then markers will be spaced at approximately equal distances along the line; the distance along the line between markers is determined by multiplying the display-coordinate distance of the axes bounding-box diagonal by the value of every.

t = np.arange(0.01, 30, 0.01)
plt.loglog(t, 20 * np.exp(-t / 10.0), '-o', markevery=0.1)