Matplotlib アスペクト比の調整
Matplotlibでグラフ描写する際、アスペクト比でちょっとはまってしまったので覚書メモです。
グラフ描写準備
import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline plt.style.use("ggplot") x = np.linspace(-3,3,100) x2 = np.linspace(0,3,100) f_y1 = np.exp(x) f_y2 = np.log(x2)
グラフ描写
まずは普通に描写してみる。
#plt.figure(figsize=(6,6)) g = plt.subplot() g.plot(x,f_y1, color="red") g.plot(x2,f_y2, color="blue") g.set_ylim([-3,3]) g.set_xlim([-3,3])
と、こんな感じでx,y軸の範囲は同じであるにも関わらず横長になる。
指数関数と対数関数の逆関数関係なので、できれば正方形で表示したいのです。
アスペクト比を調整するにはset_aspect('equal')
を入れればいいらしい。
g = plt.subplot() g.plot(x,f_y1, color="red") g.plot(x2,f_y2, color="blue") g.set_ylim([-3,3]) g.set_xlim([-3,3]) g.set_aspect('equal')
公式リファレンスはこちら
figsize
でも上手くいく。個人的にはいつもコレでサイズ調整することが多いので、
こっちを使っておいて良さそう。
plt.figure(figsize=(5,5)) g = plt.subplot() g.plot(x,f_y1, color="red") g.plot(x2,f_y2, color="blue") g.set_ylim([-3,3]) g.set_xlim([-3,3])