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 尺度!
我有几行根据点集合 (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 尺度!