参考:gnuplot で sin x と x のグラフを描く の Python 版。Python の Matplotlib で
In [1]:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patches as patches
# 以下はグラフを SVG で Notebook にインライン表示させる設定
%config InlineBackend.figure_formats = ['svg']
# グラフのサイズ
plt.rcParams["figure.figsize"] = (6, 6)
In [2]:
# 次に拡大表示する部分の矩形
fig, ax = plt.subplots()
ax.add_patch(
patches.Rectangle((-1, -1), 2, 2,
edgecolor = 'orange', linewidth = 1,
fill=False
)
)
x = np.linspace(-np.pi, np.pi, 100)
# 横軸縦軸の表示範囲
plt.xlim(-np.pi, np.pi)
plt.ylim(-np.pi, np.pi)
plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")
# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();
In [3]:
# 次に拡大表示する部分の矩形
fig, ax = plt.subplots()
ax.add_patch(
patches.Rectangle((-0.1, -0.1), 0.2, 0.2,
edgecolor = 'orange', linewidth = 1,
fill=False
)
)
x = np.linspace(-1, 1, 100)
# 横軸縦軸の表示範囲
plt.xlim(-1, 1)
plt.ylim(-1, 1)
plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")
# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();
In [4]:
x = np.linspace(-0.1, 0.1, 100)
# 横軸縦軸の表示範囲
plt.xlim(-0.1, 0.1)
plt.ylim(-0.1, 0.1)
plt.plot(x, np.sin(x), color = "red", linewidth = 2, label="sin x")
plt.plot(x, x, color = "blue", linewidth = 1, label="x")
# 主目盛にグリッド(格子線)
plt.grid(which="major", color="lightgray", ls="--", linewidth=0.5)
# x軸 y軸
plt.axhline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.axvline(0, color='black', dashes=(5, 5), linewidth=0.5)
plt.legend();