[解決済み] Pandas棒グラフに値で注釈を付ける
2022-09-23 19:51:18
質問
Pandasの棒グラフにDataFrameの丸められた数値で注釈をつける方法を探していました。
>>> df=pd.DataFrame({'A':np.random.rand(2),'B':np.random.rand(2)},index=['value1','value2'] )
>>> df
A B
value1 0.440922 0.911800
value2 0.588242 0.797366
このようなものが欲しいです。
このコードサンプルで試してみましたが、注釈がすべて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))
文字列のフォーマットとオフセットを微調整して、物事を中央に配置したいと思うでしょう。
p.get_width()
からの幅を使うかもしれませんが、これで始めることができます。オフセットをどこかで追跡しない限り、積み重ねられた棒グラフでは動作しないかもしれません。
関連
-
[解決済み] Pandasのデータフレームから行を選択するために値のリストを使用する
-
[解決済み] PandasとPythonでCSVファイルを読み込むとUnicodeDecodeErrorが発生する。
-
[解決済み] 変数の値からpandas DataFrameを構築すると、「ValueError: すべてのスカラー値を使用する場合は、インデックスを渡す必要があります。"
-
[解決済み] pandasのカラムの値をdictで再マップし、NaNを保持する
-
[解決済み] pandas: DataFrameの行をオペレータチェーンでフィルタリングする
-
[解決済み】PandasでSettingWithCopyWarningに対処する方法
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】Pandas DataframeのカラムでNaN値をゼロに置き換えるには?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] virtualenvsはどこに作成するのですか?