线标记密度

时间:2012-07-19 08:46:18

标签: python plot matplotlib marker

我用大量的点在对数刻度上绘制几行。我使用不同的线条样式/标记将它们绘制成黑色。我使用“markevery”属性来减少标记量。 X值以均匀的间隔变化。

我遇到的问题是标记分布不均匀 - 较少接近0,并且更靠近每条线的右端。 有没有办法绕过这个问题而不挑剔x值,以便它们在对数范围内“均匀”分布?

1 个答案:

答案 0 :(得分:4)

您可以给出要绘制的点的索引。在logscale中,这些点应该是非均匀分布的。您可以尝试logspace来实现它。

import pylab as plt
import numpy as np

x=np.arange(1,1e5)

# Normal plot
#plt.plot(x,x,'o-')

# Log plot
idx=np.logspace(0,np.log10(len(x)),10).astype('int')-1
plt.plot(x[idx],x[idx],'o-')
plt.xscale('log')
plt.yscale('log')
plt.show()

生成: enter image description here