我有一个简单的情节代码
plt.plot(x,y)
plt.show()
除了当前的刻度外,我还想在 x 轴上添加一些额外的刻度,比如说
extraticks=[2.1, 3, 7.6]
如您所见,我没有刻度模式,因此我不想增加整个轴的刻度频率;只保留原来的并添加那些额外的......
有可能吗?
问候
我有一个简单的情节代码
plt.plot(x,y)
plt.show()
除了当前的刻度外,我还想在 x 轴上添加一些额外的刻度,比如说
extraticks=[2.1, 3, 7.6]
如您所见,我没有刻度模式,因此我不想增加整个轴的刻度频率;只保留原来的并添加那些额外的......
有可能吗?
问候
是的,您可以尝试以下方法:
plt.xticks(list(plt.xticks()[0]) + extraticks)
要使用的功能是xticks()
. 当不带参数调用时,它返回当前刻度。使用参数调用它,您可以设置刻度位置以及可选的标签。
为了完整起见,我想给出@Lev-Levitsky 的优秀答案的OO 版本:
lines = plt.plot(x,y)
ax = lines[0].axes
ax.set_xticks(list(ax.get_xticks()) + extraticks)
这里我们使用从返回的序列Axes
中提取的对象。通常,如果您使用的是 OO 接口,那么您已经有了对前面的引用,并且您会调用它而不是 on 。Lines2D
plot
Axes
plot
pyplot
角落警告
如果由于某种原因您修改了轴限制(例如,通过编程放大数据的一部分),则需要在此操作后恢复它们:
lim = ax.get_xlim()
ax.set_xticks(list(ax.get_xticks()) + extraticks)
ax.set_xlim(lim)
否则,绘图将使 x 轴显示轴上所有可用的刻度。