如何利用文字在水平條上顯示值
條形圖廣泛用於視覺化資料表示,但有時它變得至關重要在每個條形上顯示精確值以增強資料解釋。雖然 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中文網其他相關文章!