x軸のラベルを二段にしたくなった。調べてみたところ、軸ラベル用の座標を細かく設定し、x軸ラベルに「\n」を入れて下に下げるというやり方が出てきた。
若干スマートではない気もするが一旦これで解決。
textで足すという方法もあるみたい。
import numpy as np import matplotlib.pyplot as plt #データ data1 = [1, 3] data2 = [2, 4] #棒グラフの作成 fig = plt.figure(figsize=(4,4)) ax = fig.add_subplot(111) ind = np.arange(2)#データの位置 width = 0.4 #棒グラフの太さ ax.bar(ind-width/2, data1, width)#data1の棒グラフ ax.bar(ind+width/2, data2, width)#data2の棒グラフ #x軸ラベルの設定 x = list()#x軸ラベル座標を入力するリスト for i in ind: x.extend([i-width/2, i, i+width/2])#[(上段1), (下段), (上段2)]のラベル用の座標を作成。 ax.set_xticks(x)#xの位置にticsを設定 ax.set_xticklabels(('A1','\nA', 'A2', 'B1','\nB', 'B2'),ha='center')#xの位置にラベルを置く。下段は\nで改行する。 plt.show()
参考サイト
python - How to add the second line of labels for axes - Stack Overflow