ホームページ > バックエンド開発 > Python チュートリアル > Matplotlib で水平棒にデータ値を表示するにはどうすればよいですか?

Matplotlib で水平棒にデータ値を表示するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-28 13:11:11
オリジナル
538 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート