matplotlibで2軸plotをするテンプレート
2軸でデータを可視化したい際によく忘れてしまうのでメモ的に。
テンプレートでは.plotと折れ線グラフになっているが、ここは.barにすれば棒グラフになります。
import matplotlib.pyplot as plt %matplotlib inline fig = plt.figure(figsize=(10, 5)) ax1 = fig.add_subplot(111) ax2 = ax1.twinx() ax1.plot(x1) ax2.plot(x2) h1, l1 = ax1.get_legend_handles_labels() h2, l2 = ax2.get_legend_handles_labels() ax1.legend(h1+h2, l1+l2) ax1.set_xlabel('x labels') ax1.set_ylabel('ax1 y labels') ax2.set_ylabel('ax2 ylabels') ax1.grid(True) # gridなしの場合は書かなくてok ax1.set_xticklabels(x_labels, rotation=90) # x軸の値に指定があればx_labels変数で指定、文字が長い場合はrotationで傾きを調整 plt.show()