我用大量的点以对数比例绘制了几条线。我使用不同的线条样式/标记将它们绘制为黑色。我使用“markevery”属性来减少标记的数量。X 值以均匀的间隔变化。
我遇到的问题是标记分布不均匀 - 它们在 0 附近较少,而在每条线的右端附近较多。有没有办法在不挑剔 x 值的情况下解决这个问题,以便它们在对数尺度上“均匀”分布?
我用大量的点以对数比例绘制了几条线。我使用不同的线条样式/标记将它们绘制为黑色。我使用“markevery”属性来减少标记的数量。X 值以均匀的间隔变化。
我遇到的问题是标记分布不均匀 - 它们在 0 附近较少,而在每条线的右端附近较多。有没有办法在不挑剔 x 值的情况下解决这个问题,以便它们在对数尺度上“均匀”分布?
您可以给出要绘制的点的索引。在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()
生成: