2017-12-19 13 views
1

pandasとmatplotlibを使って単純な両面棒グラフ(hereのようにX軸ごとに2つの棒グラフ)を作成したいと思います。データの棒グラフを作成するにはどうすればいいですか?

df = 
ID  Rank1 Rank2 
243390 120.5 9.0 
243810 37.5 10.0 
253380 77.0 5.0 
255330 29.0 8.0 
256520 177.5 25.0 

2つのバーで棒グラフを作成できましたが、プロットは表示されません。

fig = plt.figure(figsize=(12,8)) 
ax = fig.add_subplot(111) 
bar_width = 0.35 
opacity = 0.8 

rects1 = plt.bar(df["ID"], df["Rank1"], bar_width, 
       alpha=opacity, 
       color='b', 
       label='Rank1') 

rects2 = plt.bar(df["ID"] + bar_width, df["Rank2"], bar_width, 
       alpha=opacity, 
       color='r', 
       label='Rank2') 
plt.legend() 
#plt.tight_layout() 
plt.show() 
+0

あなたは(fig.showてみました) –

+0

@EspoirMurhabazi:はい、結果は同じである、これを試してみてください。 – Markus

答えて

1

x軸目盛りのbar_widthsは小さくなります。

fig = plt.figure(figsize=(12,8)) 
ax = fig.add_subplot(111) 
bar_width = 200 
opacity = 0.8 

rects1 = plt.bar(df["ID"]- bar_width/2, df["Rank1"], bar_width, 
       alpha=opacity, 
       color='b', 
       label='Rank1') 

rects2 = plt.bar(df["ID"] + bar_width/2, df["Rank2"], bar_width, 
       alpha=opacity, 
       color='r', 
       label='Rank2') 
plt.legend() 
#plt.tight_layout() 
plt.show() 

enter image description here

関連する問題