OS:Windows
環境:Jupyter notebook
現在このようなグラフを作成していますが、青とオレンジの合計値をグラフの上にそれぞれ可視化したいと思っています。
試行錯誤しましたがやり方がわかりません。
またグラフの中の数値のフォントサイズを変える方法はありますか?
どなたか教えていただけないでしょうか?
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
df=pd.read_excel('精神疾患を有する総患者数の推移2.xlsx')
df1=pd.pivot_table(df, columns='年度', index='患者数')
df1
df1.columns = df1.columns.droplevel(0)
df2=df1.iloc[::-1]
df2.columns=df2.columns.astype(str)
fig, ax = plt.subplots(figsize=(10, 6))
for i in range(len(df2)):
ax.bar(df2.columns,
df2.iloc[i],
bottom=df2.iloc[:i].sum())
for j in range(len(df2.columns)):
plt.text(x=j,
y=df2.iloc[:i, j].sum() + (df2.iloc[i, j] / 2),
s=df2.iloc[i, j],
ha='center',
va='bottom'
)
for j in range(len(df2.columns)):
plt.text(x=j,
y=df2.iloc[:0, j].sum() + (df2.iloc[0, j] / 2),
s=df2.iloc[0, j],
ha='center',
va='bottom'
)
ax.set_xlabel('年度', fontsize = 18)
ax.set_ylabel('患者数(万)', fontsize = 18)
ax.set_title('精神疾患を有する総患者数の推移',fontsize=28)
ax.legend(df2.index,fontsize=15)
plt.savefig('python.png')
plt.show()
回答1件
あなたの回答
tips
プレビュー