[英]How to set tick label2 in matplotlib
我想绘制一个图,左侧的y轴有一组数字,右侧的y轴具有一组不同的数字。 不幸的是,当我尝试自行设置标签时,它们不会出现在最终图中。
这是我尝试过的。
import matplotlib.pyplot as plt
fig, sub = plt.subplots(1, 1)
sub.set_yticks([5, 10, 15])
for tick, lab in zip(sub.yaxis.get_major_ticks(), [1, 2, 3]):
tick.label2On = True
tick.set_label('')
tick.set_label1('{:3.1f}'.format(lab*3))
tick.set_label2('{:3.1f}'.format(lab))
print(tick.label1.get_text(), '\txxx\t', tick.label2.get_text())
# try to force an update of the figure
fig.canvas.draw()
plt.show()
产量
3.0 xxx 1.0
6.0 xxx 2.0
9.0 xxx 3.0
因此,文本正在tick对象中进行更新,但是当我调用plt.show()
,在轴的两边只看到5、10和15(原始值):
我将尝试用twinx
破解某些东西,但我宁愿知道如何正确执行此操作
fig, ax = plt.subplots(figsize=(3,1))
ax.axes.set_xticklabels([1,10])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.