Matplotlib 改变轴刻度

Matplotlib changing axis ticks

我有几行根据点集合 (x0,y0) 绘制散点图,。 .. (xn,yn).

事实是我只对 x 尺度感兴趣,因为它是图表表现幂律的尺度,但在绘图后我想用其他函数替换 x 轴上的刻度$x_i$.

我怎么能这样做?

你可以通过

告诉matplotlib在哪里放置x轴标签
ax.set_xticks(positions)

其中 positions 是您的数据用于 x 定位的比例尺中的刻度位置列表,ax 是要绘制的轴(ax=plt.gca()ax=fig.gca()).然后您可以设置刻度标签:

ax.set_xticklabels(labels)

示例:您想以对数刻度显示 x 刻度,但仍对 x 轴使用线性刻度(我知道不是很有用):

positions = np.array([1, 10, 100, 1000])
ax.set_xticks(positions)
ax.set_xticklabels(np.log10(positions))

但是请注意,这不会改变数据的 x 尺度!