ahm*_*ari 37 python matplotlib
我有一个简单的绘图代码
plt.plot(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想在x轴上添加一些额外的刻度以及当前的刻度,让我们说
extraticks=[2.1, 3, 7.6]
Run Code Online (Sandbox Code Playgroud)
如你所见,我没有刻度线模式,所以我不想增加整个轴的刻度频率; 保持原有的,并添加这些额外的...
它有可能吗?
问候
Lev*_*sky 61
是的,您可以尝试以下方法:
plt.xticks(list(plt.xticks()[0]) + extraticks)
Run Code Online (Sandbox Code Playgroud)
要使用的功能是xticks().当不带参数调用时,它返回当前的滴答.使用参数调用它,您可以设置刻度位置和(可选)标签.
Mad*_*ist 21
为了完整起见,我想给@Lev-Levitsky的OO版本提供很好的答案:
lines = plt.plot(x,y)
ax = lines[0].axes
ax.set_xticks(list(ax.get_xticks()) + extraticks)
Run Code Online (Sandbox Code Playgroud)
这里我们使用Axes从Lines2D返回的序列中提取的对象plot.通常,如果您正在使用OO界面,那么您已经拥有了对Axes前端的引用,您可以调用plot它而不是on pyplot.
角落警告
如果由于某种原因您修改了轴限制(例如,通过以编程方式放大到部分数据),则需要在此操作后恢复它们:
lim = ax.get_xlim()
ax.set_xticks(list(ax.get_xticks()) + extraticks)
ax.set_xlim(lim)
Run Code Online (Sandbox Code Playgroud)
否则,绘图将使x轴显示轴上的所有可用刻度.
| 归档时间: |
|
| 查看次数: |
29416 次 |
| 最近记录: |