簡體   English   中英

在Matplotlib(Python)的條形圖中添加文本

[英]Adding text into bar-chart graph in Matplotlib (Python)

我需要在Matplotlib圖的x軸上輸入文本。 我有:

import matplotlib.pyplot as plt
x=[1,2,3,4,5,6,7,8,9,10,11,12]
y=[5.3, 6.1, 25.5, 27.8, 31.2, 33.0, 33.0, 32.8, 28.4, 21.1, 17.5, 11.9]

plt.bar(x,y, color='g')

plt.xlabel('x')
plt.ylabel('y')
plt.title("Max Temperature for Months")
plt.legend()
plt.show()

我的輸出是:

我的圖

我不知道如何用文本(字符串)替換x=[ ]列表,這給了我錯誤。

我想要的圖形是:

我想要的圖

如下使用plt.xticks()函數:

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]

plt.bar(x,y, color='g')

plt.xlabel('x')
plt.ylabel('y')

生成一些標簽以顯示在圖表上。 字符串列表的長度必須與xy列表的長度相同:

LABELS = ["M","w","E","R","T"]

用以下內容繪制它們:

plt.xticks(x, LABELS)

plt.title("Max Temperature for Months")
plt.legend()
plt.show()

在此處查看示例: http : //matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

編輯:有關調整標簽的位置/方向/位置的信息,請參閱matplotlib api文檔,以及以下問題: matplotlib在相對於axis的位置刻度

編輯:添加的圖像: http : //imgur.com/igjUGLb

編輯:要實現所需的位置和方向,您將在此問題中找到一個很好的示例: Matplotlib Python Barplot:xtick標簽的位置彼此之間有不規則的間隔

實施:

b = plt.bar(x,y, color='g')
xticks_pos = [0.5*patch.get_width() + patch.get_xy()[0] for patch in b]        
plt.xticks(xticks_pos, LABELS,rotation = 45)

給: https : //imgur.com/a/78Esz希望能有所幫助。

暫無
暫無

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

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