参考:gnuplot で sin x と x のグラフを描く の SymPy Plotting Backends (SPB) 版。SPB の plot()
で $y = \sin x $ と $y = x$ のグラフを描く。
$ |x| \ll 1 $ では2つのグラフはほとんど重なっていて $ \sin x \simeq x $ すなわち $\displaystyle \frac{\sin x}{x} \simeq 1$ であることを見て確かめる。
In [1]:
from sympy.abc import *
from sympy import *
# SymPy Plotting Backends
from spb import *
# グラフを SVG で Notebook にインライン表示させる
%config InlineBackend.figure_formats = ['svg']
$ – \pi \leq x \leq \pi$ の範囲で $y = \sin x$ と $ y = x$ をプロット。
In [2]:
plot(sin(x), x, (x, -pi, pi),
xlim = (-pi, pi), ylim = (-pi, pi),
aspect = "equal", size=(6, 6));
凡例と線の色の設定例。また,次に拡大表示する部分の矩形も合わせてプロットしてみる。rectangles
には,matplotlib.patches.Rectangle
の引数と同等なものを辞書形式で設定する(らしい)。
In [3]:
plot((sin(x), "sin $x$", {"color":"red", "linewidth":2}),
(x, "$x$", {"color":"blue", "linewidth":1}), (x, -pi, pi),
rectangles={"xy":(-1,-1), "width":2, "height":2,
"color":"orange", "fill":False, "linewidth":2},
xlim = (-pi, pi), ylim = (-pi, pi),
aspect = "equal", size=(6, 6));
$ – 1 \leq x \leq 1$ の範囲で $y = \sin x$ と $ y = x$ をプロット。
In [4]:
plot((sin(x), "sin $x$", {"color":"red", "linewidth":2}),
(x, "$x$", {"color":"blue", "linewidth":1}), (x, -1, 1),
rectangles={"xy":(-0.1,-0.1), "width":0.2, "height":0.2,
"color":"orange", "fill":False, "linewidth":2},
xlim = (-1, 1), ylim = (-1, 1),
aspect = "equal", size=(6, 6));
$ – 0.1 \leq x \leq 0.1$ の範囲で $y = \sin x$ と $ y = x$ をプロット。ほとんど重なっていて,区別がつきにくい。
In [5]:
plot((sin(x), "sin $x$", {"color":"red", "linewidth":2}),
(x, "$x$", {"color":"blue", "linewidth":1}), (x, -0.1, 0.1),
xlim = (-0.1, 0.1), ylim = (-0.1, 0.1),
aspect = "equal", size=(6, 6));