线标记密度

2024-09-27 07:35:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我用对数标度绘制了几条线,其中有大量的点。我用不同的线样式/标记以黑色打印它们。我使用“markevery”属性来减少标记的数量。X值以偶数间隔变化。在

我遇到的问题是标记分布不均匀-在0附近的标记较少,而在每行的右端的标记较多。 有没有什么方法可以在不挑剔x值的情况下绕过这个问题,从而使它们在对数刻度上“均匀”分布?在


Tags: 方法标记数量间隔属性绘制对数情况
1条回答
网友
1楼 · 发布于 2024-09-27 07:35:39

您可以给出要绘制的点的索引。在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

相关问题 更多 >

    热门问题