plt.xlim()が効かないときのメモ
matplotlibで軸の範囲を指定しているのにうまく描画できないときのメモ.
t = np.linspace(0,2*np.pi,100) x = 2.0*np.cos(t) y = 2.0*np.sin(t) plt.figure() plt.axis('equal') plt.plot(x, y) plt.xlabel("x") plt.ylabel("y") plt.xlim([-5,5]) plt.ylim([-5,5]) plt.show()
上のコードでは以下のようにx軸y軸ともに[-5,5]の範囲で指定しているにもかかわらずy軸の範囲がおかしい.
plt.xlim([-5,5]) plt.ylim([-5,5])
これはx軸y軸の比率を均等にするために指定していた
plt.axis('equal')
が良くなかったらしく,
plt.gca().set_aspect('equal', adjustable='box')
に変更したらちゃんと動いた.
t = np.linspace(0,2*np.pi,100) x = 2.0*np.cos(t) y = 2.0*np.sin(t) plt.figure() plt.gca().set_aspect('equal', adjustable='box') plt.plot(x, y) plt.xlabel("x") plt.ylabel("y") plt.xlim([-5,5]) plt.ylim([-5,5]) plt.show()
参考URL:
https://github.com/matplotlib/matplotlib/issues/8093
https://stackoverflow.com/questions/17990845/how-to-equalize-the-scales-of-x-axis-and-y-axis-in-python-matplotlib