Pandas 棒グラフを操作する場合、多くの場合、Pandas 棒グラフが表す数値を表示することが望ましいです。この記事では、DataFrame の丸められたデータ値でバーに注釈を付ける問題について説明します。
問題:
次の DataFrame (df) を考えてみましょう:
A B value1 0.440922 0.911800 value2 0.588242 0.797366
目標は、画像に示すように、対応する丸められた値で各バーに注釈を付けることです。以下:
[注釈付きの値を含む棒グラフの画像]
非効率なアプローチ:
注釈を付けるための一般的なアプローチの 1 つは、 annotate 関数を使用することです。 。ただし、以下のコード サンプルが示すように、このアプローチでは注釈が x ティックの中心に配置されます。
ax = df.plot(kind='bar') for idx, label in enumerate(list(df.index)): for acc in df.columns: value = np.round(df.ix[idx][acc], decimals=2) ax.annotate(value, (idx, value), xytext=(0, 15), textcoords='offset points')
最適な解決策:
より効率的な解決策は次のとおりです。軸のパッチからデータを取得します:
for p in ax.patches: ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
このコードはバーの高さを抽出し、
カスタマイズ:
注釈をカスタマイズするには、文字列の書式設定とオフセットを調整できます。例:
for p in ax.patches: ax.annotate("{:.2f}".format(p.get_height()), (p.get_x() + p.get_width() / 2, p.get_height() * 1.005))
これにより、注釈が各バーの中央に配置され、高さが小数点以下 2 桁にフォーマットされます。
以上がパンダの棒グラフにデータ値で効率的に注釈を付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。