質問編集履歴

1

コードの追記

2021/04/24 23:26

投稿

minori411
minori411

スコア7

test CHANGED
File without changes
test CHANGED
@@ -12,6 +12,90 @@
12
12
 
13
13
  試行錯誤しましたがやり方がわかりません。
14
14
 
15
+ またグラフの中の数値のフォントサイズを変える方法はありますか?
16
+
15
17
 
16
18
 
17
19
  どなたか教えていただけないでしょうか?
20
+
21
+
22
+
23
+ %matplotlib inline
24
+
25
+ import numpy as np
26
+
27
+ import pandas as pd
28
+
29
+ import matplotlib.pyplot as plt
30
+
31
+ import japanize_matplotlib
32
+
33
+ df=pd.read_excel('精神疾患を有する総患者数の推移2.xlsx')
34
+
35
+ df1=pd.pivot_table(df, columns='年度', index='患者数')
36
+
37
+
38
+
39
+ df1
40
+
41
+ df1.columns = df1.columns.droplevel(0)
42
+
43
+ df2=df1.iloc[::-1]
44
+
45
+ df2.columns=df2.columns.astype(str)
46
+
47
+ fig, ax = plt.subplots(figsize=(10, 6))
48
+
49
+ for i in range(len(df2)):
50
+
51
+ ax.bar(df2.columns,
52
+
53
+ df2.iloc[i],
54
+
55
+ bottom=df2.iloc[:i].sum())
56
+
57
+ for j in range(len(df2.columns)):
58
+
59
+ plt.text(x=j,
60
+
61
+ y=df2.iloc[:i, j].sum() + (df2.iloc[i, j] / 2),
62
+
63
+ s=df2.iloc[i, j],
64
+
65
+ ha='center',
66
+
67
+ va='bottom'
68
+
69
+ )
70
+
71
+ for j in range(len(df2.columns)):
72
+
73
+ plt.text(x=j,
74
+
75
+ y=df2.iloc[:0, j].sum() + (df2.iloc[0, j] / 2),
76
+
77
+ s=df2.iloc[0, j],
78
+
79
+ ha='center',
80
+
81
+ va='bottom'
82
+
83
+ )
84
+
85
+
86
+
87
+ ax.set_xlabel('年度', fontsize = 18)
88
+
89
+ ax.set_ylabel('患者数(万)', fontsize = 18)
90
+
91
+ ax.set_title('精神疾患を有する総患者数の推移',fontsize=28)
92
+
93
+
94
+
95
+ ax.legend(df2.index,fontsize=15)
96
+
97
+
98
+
99
+ plt.savefig('python.png')
100
+
101
+ plt.show()