2017-09-12 13 views
1

私は、以下のデータフレーム持っている:Pythonのパンダ積み上げ棒グラフのx軸ラベル

Months Region Open Case ID Closed Case ID 
April APAC 648888   648888 
April US  157790 
April UK  221456   221456 
April APAC 425700 
April US  634156   634156 
April UK  109445 
April APAC 442459   442459 
May  US  218526 
May  UK  317079   317079 
May  APAC 458098 
May  US  726342   726342 
May  UK  354155 
May  APAC 463582   463582 
May  US  511059 
June UK  97186   97186 
June APAC 681548 
June US  799169   799169 
June UK  210129 
June APAC 935887   935887 
June US  518106 
June UK  69279   69279 

をし、私はオープンケースIDと密閉ケースIDのカウントを取得しています:

df = df.groupby(['Months','Region']).count() 

私はこのようになりますExcelで生成された以下のチャート、複製しようとしています:

をし、私は下記取得しています:

df[['Months','Region']].plot.bar(stacked=True, rot=0, alpha=0.5, legend=False) 

enter image description here

近いx軸とそのラベルが壊れているかという観点でExcelによって生成されたチャートをパイソンによって生成されたチャートを取得する方法はありますか?

答えて

2

Theresは、マルチインデックスラベルhereをデザインするのと同様の質問のための素晴らしい解決策です。あなたはその解すなわちに斧で= fig.gcaを()プロットの同じパラメータを使用することができます

import matplotlib.pyplot as plt 

# add_line,label_len,label_group_bar_table from https://stackoverflow.com/a/39502106/4800652 

fig = plt.figure() 
ax = fig.add_subplot(111) 
#Your df.plot code with ax parameter here 
df.plot.bar(stacked=True, rot=0, alpha=0.5, legend=False, ax=fig.gca()) 

labels = ['' for item in ax.get_xticklabels()] 
ax.set_xticklabels(labels) 
ax.set_xlabel('') 
label_group_bar_table(ax, df) 
fig.subplots_adjust(bottom=.1*df.index.nlevels) 
plt.show() 

出力サンプルデータに基づいて:

enter image description here

関連する問題