2012-07-19 50 views
3

我绘制了大量积分对数刻度线。我使用不同的线条样式/标记将它们绘制成黑色。我使用“markevery”属性来减少标记的数量。 X值均匀变化。线标记密度

我遇到的问题是标记分布不均匀 - 在0附近分布较少,而在每条线的右端更靠近分布。 是否有任何方法可以在不挑剔x值的情况下解决此问题,以便它们以均衡的方式“均匀”分布?

+0

你能提供的示例代码和样本图像? – 2012-07-19 08:54:01

+0

不幸的是,我没有足够的张贴图片的声望,imsc已经在他的答案中提供了最小的工作代码示例和解决方案。 – Zaript 2012-07-25 09:07:54

回答

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

+0

谢谢!这正是我想要实现的。我很难用我想要的方式调整索引。感觉就像我在这个解决方案中找到了全新的维度。 – Zaript 2012-07-25 09:13:10