首頁 > 後端開發 > Python教學 > 如何在 Matplotlib 中的水平條上顯示資料值?

如何在 Matplotlib 中的水平條上顯示資料值?

Linda Hamilton
發布: 2024-11-28 13:11:11
原創
607 人瀏覽過

How to Display Data Values on Horizontal Bars in Matplotlib?

如何利用文字在水平條上顯示值

條形圖廣泛用於視覺化資料表示,但有時它變得至關重要在每個條形上顯示精確值以增強資料解釋。雖然 matplotlib 沒有為此提供開箱即用的解決方案,但對程式碼進行簡單修改即可啟用此功能。

要在水平條上合併值,您可以使用 ax. text() 方法。透過迭代資料值 (y),您可以在每個條上新增文本,指定 x 位置 (v 3) 和 y 位置 (i)。以下是更新後的程式碼:

import os
import numpy as np
import matplotlib.pyplot as plt

x = [u'INFO', u'CUISINE', u'TYPE_OF_PLACE', u'DRINK', u'PLACE', u'MEAL_TIME', u'DISH', u'NEIGHBOURHOOD']
y = [160, 167, 137, 18, 120, 36, 155, 130]

fig, ax = plt.subplots()    
width = 0.75 # the width of the bars 
ind = np.arange(len(y))  # the x locations for the groups
ax.barh(ind, y, width, color="blue")
ax.set_yticks(ind+width/2)
ax.set_yticklabels(x, minor=False)
plt.title('title')
plt.xlabel('x')
plt.ylabel('y')      

# Add text to display values on bars
for i, v in enumerate(y):
    ax.text(v + 3, i, str(v), color='blue', fontweight='bold', verticalalignment='center')

#plt.show()
plt.savefig(os.path.join('test.png'), dpi=300, format='png', bbox_inches='tight') # use format='svg' or 'pdf' for vectorial pictures
登入後複製

此修改會將值稍微放置在每個條形的右側,從而提供資料的清晰視覺表示。

以上是如何在 Matplotlib 中的水平條上顯示資料值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板