datta

データを扱うときの私的メモ

【Python】二軸グラフ(twinx)を用いた場合に図を正方形にする方法

XLIM = [0, 30]
YLIM = [0, 1, 0, np.pi]

ax1.set(adjustable='box-forced',
       xlim=XLIM, ylim=YLIM[:2],
       xticks=np.arange(XLIM[0], XLIM[1]+1, 10),
       yticks=np.arange(YLIM[0], YLIM[1]+0.25, 0.25)[:-1],
       aspect=(XLIM[1]-XLIM[0])/(YLIM[1]-YLIM[0]))

ax2.set(adjustable='box-forced',
        ylim=YLIM[2:],
        yticks=np.arange(YLIM[2], YLIM[3]+np.pi/4, np.pi/4),
        aspect=(XLIM[1]-XLIM[0])/(YLIM[3]-YLIM[2]))

【参考】
python - Define aspect ratio when using twinx - Stack Overflow

【Python】グラフの軸の目盛りラベルをラジアン表記にする方法

xtick = np.array(["0", r"$\frac{1}{4}π$", r"$\frac{1}{2}π$", r"$\frac{3}{4}π$", r"$π$"])
locs = np.linspace(0, np.pi, 5)
plt.xticks(locs, xtick)

【参考】
http://katuo-ai.com/2018/10/27/%E3%80%90python%E3%80%91matplotlib%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E4%BD%8D%E7%9B%B8%E5%B7%AE%E3%81%8C%E7%95%B0%E3%81%AA%E3%82%8B%EF%BC%93%E3%81%A4%E3%81%AE%E6%AD%A3%E5%BC%A6%E6%B3%A2%E3%82%92show/