質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

745閲覧

plotlyの積み上げバーの上部に合計値を表示できない

hiroshi77

総合スコア12

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2022/12/08 12:10

編集2022/12/08 12:20

前提

仕様ライブラリ

  • pandas
  • plotly

実現したいこと

  • plotlyで積み上げたバーの上部に合計値を表示したいのですが、上手くできなくて困っています。表示しようとすると、図のように各バーのそれぞれに数字がひょうじされてしまいます。積み上げたバーの合計値のみをバー上部に表示する方法をご教授いただければ幸いです。

一つ考えられるのは事前に、それぞれのバーの合計値を求めておいて、annotationで1つ1つのバーに手入力で追加して表示するという方法かと思うのですが、例えば、x軸に年月を取った際などバーの数が多くなった時にそれをすると非効率なので、別の方法を知りたいと考えおります。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

python

1 2import plotly.express as px 3 4long_df = px.data.medals_long() 5 6fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input", text="count") 7fig.show() 8

試したこと

表示を外側に出す。

fig.update_traces(textposition="outside")

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

stack over flowで下記の解決案を見つけました。
ただなぜ Scatterを使用するのか理解しきれていない状況です。

python

1import plotly.graph_objects as go 2 3df = px.data.medals_long() 4dfs = df.groupby('medal').sum() 5fig = px.bar(df, x="medal", y="count", color="nation") 6 7fig.add_trace(go.Scatter( 8 x=dfs.index, 9 y=dfs['count'], 10 text=dfs['count'], 11 mode='text', 12 textposition='top center', 13 textfont=dict( 14 size=18, 15 ), 16 showlegend=False 17)) 18 19fig.update_yaxes(range=[0,50]) 20fig.show()

投稿2022/12/08 12:45

hiroshi77

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問