如何在Matplotlib中设置不等的x轴间隔

2 投票
2 回答
6436 浏览
提问于 2025-04-17 08:50

现在我只用 plt.plot(x,y1,'b.-') 来画图,但发现x轴上显示了很多数据,范围在0到10之间。所以我想把x轴设置成这样 0,1,5,10,100,1000,100000

这样的话,0到10之间的数据就能更分散一些。

我该怎么在Python中做到这一点呢?我正在使用Matplotlib。

2 个回答

2

可以看看这个问题的被接受答案:如何在matplotlib中转换(或缩放)轴值并重新定义刻度频率? 基本上,matplotlib.pyplot.xticks 这个命令可以用来控制刻度线的位置和标签。

不过,你的数据还是会在一个线性尺度上绘制,所以这并不会把数据在0到10之间拉伸开。要做到这一点,你需要使用不同的轴缩放方式,比如可以使用set_xscale

4

0,1,5,10,100,1000,100000?

如果你能接受这样的数字(0.01, 0.1, 1, 10, 100, 1000, 10000, 100000,等等)——那么可以把x轴的刻度改成对数刻度:

plt.xscale('log')

撰写回答