Pythonのmatlotlibで外枠の上にグラフを重ねるには、 「clip_on=False, zorder=5」を引数に追加する。
単純にグラフを作ると、外枠の下にグラフが隠れてしまう。
しかし、外枠の上にグラフを表示したい時も稀にあるので、実現方法を記録しておきたい。
「clip_on=False, zorder=5」を引数に追加することで実現できる。
- clip_on=False:外枠からはみ出たグラフも描写する
- zorder=5:外枠の前面にグラフを描写する(指定しないと点の中に外枠の線が現れてしまう)
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, np.pi/6)
y = np.sin(x)
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.figure(figsize=(10, 3))
plt.plot(x, y, color='red')
plt.scatter(x, y, s=100, color='red', clip_on=False, zorder=5)
plt.xlim(0, 10)
plt.ylim(-1, 1)
plt.xlabel(r'$x$', fontsize=25)
plt.ylabel(r'$\sin{x}$', fontsize=25)
plt.tick_params(labelsize=15)
plt.show()