2016-09-04 43 views
0

ipythonノートブックでmatplotlibを使って1つの出力で3つのチャートを作成しようとしています。私が出力したグラフはfisrtのものが正しいが、2番目と3番目にはxのラベルが崩れ、2番目と3番目のグラフにはさらに多くのセルがある。私はそれらのすべてが統一されたものにしたい。Matplotlib、Ipythonでxラベルをシフトする

fig, axs = plt.subplots(1,3, figsize=(15,10)) 
ax0, ax1, ax2 = axs.flat 

labels = ['Asian', 'Black', 'Hispanic', 'Unknown', 'White'] 

day1M = day1df[(day1df.Gender == "M")] 
day15M = day15df[(day15df.Gender == "M")] 
day30M = day30df[(day30df.Gender == "M")] 


grouped1 = day1M.groupby("Race").size() 
grouped15 = day15M.groupby("Race").size() 
grouped30= day30M.groupby("Race").size() 

x = range(len(grouped1)) 

ax0.bar(x, grouped1) 
ax0.set_xticklabels(labels, rotation='vertical') 


x = range(len(grouped15)) 

ax1.bar(x, grouped15) 
ax1.set_xticklabels(labels, rotation='vertical') 

x = range(len(grouped30)) 

ax2.bar(x, grouped30) 
ax2.set_xticklabels(labels, rotation='vertical') 

、ここでは、出力電流が

それだけでラベルをチェックする FixedFormatterを使用して(フードの下)であるため、あなたは set_xticklabelsを使用することはほとんどないはずです

Chart1

+0

のようにしたいと思っています。 –

答えて

0

のように見えるものです。ロケータもFixedLocatorに設定しない場合は、目盛りのラベルが順番に目盛りに適用されます。

mpl1.5からは、バーに自動的にラベルを付けるtick_label kwarg〜bar(docs)があります。

ax.bar(x, data, tick_label=labels, align='center') 
関連する問題