正負の点電荷がつくる電場の向きを表す方向場を gnuplot で描く。以下のページの抜粋。
Maxima によるグラフ作成 draw2d 編
Maxima を使って,関数のグラフを描くことができます。また,数値データもグラフにすることができます。
Maxima の2次元グラフ作成は plot2d()
でもできますが,ここでは,draw2d()
について説明します。
draw2d()
でプロットできるオブジェクトは以下のとおりです。
- 陽関数 $y = f(x)$:
explicit(f(x), x, xmin, xmax)
- 陰関数 $f(x, y) = 0$:
implicit(f(x, y) = 0, x, xmin, xmax, y, ymin, ymax)
- 媒介変数表示 $x(t), y(t)$:
parametric(x(t), y(t), t, tmin, tmax)
- 曲座標表示 $r(\phi)$:
polar(r(phi), phi, 0, 2*pi)
- 点,$x$ 座標 $y$ 座標の数値データ:
points([[x1, y1], [x2, y2], ... ])
またはpoints([[x1, x1, ...], [y1, y2, ...]])
- ベクトル,始点 $x_0, y_0$ からベクトル成分 $v_x, v_y$:
vector([x0, y0], [vx, vy])
また,2本の陽関数で挟まれた領域を塗りつぶすこともできます。
Maxima によるグラフ作成 plot2d 編
Maxima を使って,関数のグラフを描くことができます。また,数値データもグラフにすることができます。
Maxima の2次元グラフ作成は draw2d()
でもできますが,ここでは,plot2d()
について説明します。
plot2d()
でプロットできるオブジェクトは以下のとおりです。
- 陽関数 $y = f(x)$:
plot2d(f(x), [x, xmin, xmax])
- 陰関数 $f(x, y) = 0$:
plot2d(f(x, y) = 0, [x, xmin, xmax], [y, ymin, ymax])
- 媒介変数表示 $x(t), y(t)$:
plot2d([parametric, x(t), y(t), [t, t0, t1]])
- 点,$x$ 座標 $y$ 座標の数値データ:
plot2d([discrete, [[x1, y1], ..., [xn, ..., yn]]])
またはplot2d([discrete, [x1, ..., xn], [y1, ..., yn]])
Python によるグラフ作成 SymPy Plotting Backends 編
Python を使って,関数のグラフを描くことができます。また,数値データもグラフにすることができます。
Python の2次元グラフ作成は matplotlib.pyplot.plot()
でもできますが,ここでは,SymPy Plotting Backends (SPB) について説明します。
SPB でプロットできるオブジェクトは以下のとおりです。
- 陽関数 $y = f(x)$:
plot(f(x), (x, xmin, xmax))
- 陰関数 $f(x, y) = 0$:
plot_implicit(f(x, y), (x, xmin, xmax), (y, ymin, ymax))
- 媒介変数表示 $x(t), y(t)$:
plot_parametric(x(t), y(t), (t, tmin, tmax))
- 点,$x$ 座標 $y$ 座標の数値データ:
plot_list([x1, ..., xn], [y1, ..., yn])
- ベクトル
ax.quiver(X, Y, Vx, Vy)
また,2本の陽関数で挟まれた領域などを塗りつぶすこともできます。
gnuplot によるグラフ作成基本編
gnuplot を使って,関数のグラフを描くことができます。また,数値データもグラフにすることができます。
gnuplot の2次元グラフ作成でプロットできる対象は以下のとおりです。
- 陽関数 $y = f(x)$:
plot [xmin:xmax] f(x)
- 陰関数 $f(x, y) = 0$ を直接 plot する機能はないようです。
- 媒介変数表示 $x(t), y(t)$:
set parametric; plot [tmin:tmax] x(t), y(t)
- 点,$x$ 座標 $y$ 座標の数値データ:
- ファイルから読み込んで
plot "filename"
- 配列のプロット
plot X using 1:(Y[$1])
など
- ファイルから読み込んで
- ベクトル
- ファイルから読み込んで
plot "filename" w vec
- 配列のプロット
plot X u (X[$1]):(Y[$1]):(Vx[$1]):(Vy[$1]) w vec
など
- ファイルから読み込んで
また,2本の陽関数で挟まれた領域を塗りつぶすこともできます。
SymPy Plotting Backends で正規分布をσごとに塗りわける
「gnuplot で正規分布をσごとに塗りわける」の SymPy Plotting Backends 版。
以下を参考に,標準正規分布がもつ確率密度関数のグラフを描いてみる。
matplotlib.pyplot.plot で2曲線の描画範囲を個別に設定して plot と塗りつぶし
「gnuplot で2曲線の描画範囲を個別に設定して plot と塗りつぶし」 の matplotlib.pyplot.plot 版。
グラフの上下左右軸に主目盛・副目盛をつける
20世紀の大昔,サイエンティフィックなグラフというものは上下左右軸に目盛をつけるものだと偉い先生に教えられたことがある。その理由は,定規を水平または垂直に当ててグラフの曲線から数値を読み取るためだと言われて,妙に感心したことを覚えている。というわけで,上下左右軸に目盛をつけた,サイエンティフィックなグラフを描く例。
SymPy + SymPy Plotting Backends (SPB) を追加。2023.3.18
Continue reading
SymPy Plotting Backends でグラフを描いて Matplotlib 流にオプション設定する
一旦 SymPy Plotting Backends で p = plot()
などとしてプロットしたら,あとは ax = p.ax
として ax
に対して通常どおりの Matplotlib のオプション設定をしていけばよいという話。
SymPy は関数を symbolic expression のままでグラフにできるので,NumPy にたよらないという方針でやってみる。 Continue reading