簡體   English   中英

如何在matplotlib中設置刻度標簽2

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM