matplotで少しだけきれいなグラフに挑戦
普段matplotlibでグラフを書くときはかなり適当で、見た目はあまり気にしないのだが、 ときどききれいなグラフを書きたくなることもある。
今回試しに書いたソースコードを備忘用として掲載しておく。
# いつも書いている部分
from numpy import linspace, cos, sin, pi
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = (32.0, 24.0)
plt.rcParams["lines.markersize"] = 2
# 今回書いた関数
def draw():
x = linspace(-pi, pi, 1000)
plt.plot(x, cos(x), label="cos", lw=5, color="#00BCD4")
plt.plot(x, sin(x), label="sin", lw=5, color="#FFC107")
plt.xticks(
[-pi, -pi / 2, 0, pi / 2, pi],
[r"$-\pi$", r"$-\frac{\pi}{2}$", "0", r"$\frac{\pi}{2}$", r"$\pi$"],
fontsize=30,
)
plt.yticks([-1, 0, 1], fontsize=30)
plt.grid()
plt.legend(fontsize=20, framealpha=0.0, bbox_to_anchor=(1.0, 0.95))
plt.title("cosine & sine", fontsize=30)
plt.axis("scaled")
plt.xlim([-pi, pi])
plt.savefig("cosine-and-sine.png", bbox_inches="tight", transparent=True)
plt.cla()
if __name__ == "__main__":
draw()
matplotlibは大変機能が多く、きれいにしようと調べ始めると、時間があっという間に経ってしまう。
自分のよく使用する機能を適当にまとめた、こういったexampleが役に立つと思う。