簡體   English   中英

Pyplot 在熱圖上 Y 軸的指定值上繪制水平線

[英]Pyplot plot horizontal line on specified value of Y axis on Heatmap

我目前有一個數據框,df:

In  [1]: df
Out [1]:    

   one        two
   0.5        4.62
   1.0       12.23        
   1.5       17.53          
   2.0       20.32        
   2.5       19.37
   3.0       17.77
   3.5        9.04

我已經嘗試用 y 軸上的值為 2 的水平線繪制熱圖,但是它改為在熱圖的第二條上繪制線:

In  [2]: plt.figure(figsize=(30,7))
         plt.title('Test')
         ax = sns.heatmap(data=df, annot=True, )
         plt.xlabel('Test')
         ax.invert_yaxis()
         ax.axhline(2, ls='--')

實際輸出

我希望能夠在 y 軸上的指定值處繪制一條水平線,以便輸入“2”將給出以下圖表(這是通過替換"ax.axhline(3.5, ls='--')"在我當前的代碼中):

期望的輸出

看起來情節只是一個圖像。 因此,在坐標“2”處繪制一條線會將這條線放在第二行像素的上方。 要以所需值繪制線條,您可以搜索適當的像素行,例如使用

value = 2
index = np.abs(df['one'] - value).argmin()
ax.axhline(index + .5, ls='--')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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