3

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

我遇到的问题是标记分布不均匀 - 它们在 0 附近较少,而在每条线的右端附近较多。有没有办法在不挑剔 x 值的情况下解决这个问题,以便它们在对数尺度上“均匀”分布?

4

1 回答 1

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()

生成: 在此处输入图像描述

于 2012-07-19T11:30:52.313 回答