sage/グラフの使い方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2009/11/12からのアクセス回数 &counter;
** グラフの使い方 [#h8082ab7]
sageでのグラフの使い方について、説明します。
[[レファレンスマニュアル >http://sagemath.com/doc/referen...
を参考にしながら見てください。
** 基本図形 [#e249f7f6]
計算結果の表示の他に、補足説明などのために基本図形を表示...
以下によく使う基本図形
- 円: circle
- 文字列: text
- 線: line
- 点: point
- ポリゴン: poligon
を示します。
*** 円 [#w0c359f8]
円は以下のように表示します。
circle((座標), 半径)
circleの例を以下に示します。座標は原点(0, 0)、半径は1です。
sage入力:
#pre{{
circle((0,0), 1)
}}
&ref(sage0.png);
*** 文字列 [#wb166a68]
次に文字列textです。表示する文字列には、$で囲んでlatexの...
textは以下の形式で使用します。文字列の中心が指定した座標...
text(文字列, (座標))
textの例を以下に示します。原点近くで日本語文字が化けてい...
sage入力:
#pre{{
text('test', (1, 1)) + text('$f(x) = x^2 + 1$', (0.5,0.5)...
}}
&ref(sage0-1.png);
*** 線 [#t6e1a619]
線(line)は、指定された座標のリストを線で結びます。
lineの使い方は、簡単です。
line([(開始座標), (終了座標)])
*** 点 [#n646d18a]
これまで、説明しないで使ってきた点(point)です。
point((座標), オプション属性(pointsize, rgccolor, facet...
以下に例を示します。日本語が使えないため、タイトルをhtml...
show関数で表示領域を指定し、すべての図形が表示されるよう...
sage入力:
#pre{{
html('<center>テスト</center>')
c = circle((0.5,0.5), 1)
l = line([(0,0), (1, 1)])
pt = point((0.5, 0.5), rgbcolor='white', pointsize=30, fa...
(c + l + pt).show(xmin=-1, xmax=2)
}}
&ref(sage0-2.png);
*** ポリゴンの塗りつぶし [#a84f01be]
polygon関数を使うとリストで指定した座標の図形を塗りつぶし...
sage入力:
#pre{{
polygon([(0,0), (1,1), (0,1)])
}}
&ref(sage0-3.png);
** 2次元グラフ [#p3eb43e5]
sageでは、簡単に2次元グラフを表示することができます。
2次元グラフには、plot関数を使用します。 plot関数のもっと...
plot(関数, 最小値, 最大値)
です。
例として、\(y=cos(x)\) のグラフを−2π から2πまで描画してみ...
sage入力:
#pre{{
plot(cos, -2*pi, 2*pi)
}}
&ref(sage0-4.png);
*** グラフの基本 [#u3b8bd4a]
もう少しplotの使い方を調べてみましょう。
plotの呼び出しは、以下の形式で覚えると便利です。
plot(関数, [変数名, 最小, 最大], オプション)
オプションは、省略可能です。plotのオプションは、plot.opti...
- 描画範囲指定のxmin, xmax, ymin, ymax
- グラフの比率を指定するaspect_ratio
- 線の色指定のrgbcolor
などです。
sage入力:
#pre{{
# plotのオプションを知る
plot.options
}}
&color(blue){ {'fillalpha': 0.5, 'detect_poles': False, '...
#pre{{
# Graphicsのオプションを知る
Graphics.show?
}}
&ref(Graphics.show.png);
*** 重ね書き [#r49c299f]
重ね書きの例として、直線に○をプロットしてみます。
関数 \(f(x)=\frac{(x2−1)}{(x−1)}\)を-1から3の範囲で表示し...
描画範囲は、(0, 0)から(3, 4)とします。
sage入力:
#pre{{
# 重ね書きの例
p = plot((x^2 - 1)/(x - 1), x, -1, 3)
pt = point((1, 2), rgbcolor='white', pointsize=30, facete...
g = p+pt
g.show(xmin=0, ymin=0, xmax=3, ymax=4)
}}
&ref(sage0-5.png);
*** plotはlimitを計算する [#tf203f69]
グラフをみて、おやっと思われた方もいると思いますが、\(f(x...
sage入力:
#pre{{
limit((x^2 - 1)/(x - 1), x=1)
}}
&color(blue){2};
もう一つ0で不連続な関数\(\frac{x}{sin(x)}\)をグラフにして...
sage入力:
#pre{{
plot(sin(x)/x, x, -100, 100)
}}
&ref(sage0-6.png);
*** 場合分けのグラフ [#x00a2907]
以下のような場合分けのグラフを表示する例を示します。
$$
f(x)=\left\{
\begin{array}{l l}
x^2, & 0 \le x \le 1 \\
2 -x , & 1 \lt x \le 2 \\
x^2-3x+2& 2 \lt x \le 3 \\
\end{array}
\right.
$$
sage入力:
#pre{{
p1 = plot(x^2, x, 0, 1)
p2 = plot(-x+2, x, 1, 2)
p3 = plot(x^2-3*x+2, x, 2, 3)
pt1 = point((0, 0), rgbcolor='black', pointsize=30)
pt2 = point((3, 2), rgbcolor='black', pointsize=30)
(p1+p2+p3+pt1+pt2).show(xmin=0, xmax=3, ymin=0, ymax=2)
}}
&ref(sage0-7.png);
*** パラメトリック方程式の可視化 [#v818b247]
高校で習う運動力学で円運動がありますが、これを時間tをパラ...
$$
x=cos(t), y=sin(t)
$$
となります。\(x,y\)を時間\(t\)をパラメータでので、媒介変...
媒介変数表示を行う関数が、parametric_plot関数です。
parametric_plot([座標を示す関数リスト], (パラメータ名, ...
の形式で使います。 例)単位円上の円運動を媒介変数表示で表...
sage入力:
#pre{{
var('t')
parametric_plot([cos(t),sin(t)],[t,0,2*pi], aspect_ratio=1)
}}
&ref(sage0-8.png);
*** リストプロット [#l8c202ca]
リスト([]で括られた値のリスト)をプロットするlist_plotの...
list_plot(プロットするリスト)
sage入力:
#pre{{
list_plot([1, 2, 4, 3, 6])
}}
&ref(sage0-9.png);
*** 関係式の値をプロット [#jed0f866]
これまでのプロットは、プロットする値を明示的に示すもので...
sage入力:
#pre{{
implicit_plot(x^2 + y^2 == 1, [x, -1, 1], [y, -1, 1], asp...
}}
&ref(sage0-10.png);
** 3次元グラフ [#zf100a94]
2次元グラフと同様に3次元のグラフを表示することができます...
sage入力:
#pre{{
x, y = var('x y')
plot3d(sin(x*y),(x,-pi,pi),(y,-pi,pi), mesh=True)
}}
&ref(sage0-11.png);
*** 等高線グラフ [#f389f1c8]
前のグラフと同じものを等高線グラフで表示すると以下のよう...
sage入力:
#pre{{
var('x y')
contour_plot(sin(x*y), [x, -pi, pi], [y, -pi, pi], aspect...
}}
&ref(sage0-12.png);
*** 3次元の媒介変数表示 [#a63b845d]
3次元の媒介変数表示の例です。
$$
\begin{eqnarray}
f_x &=& u v \\
f_y &=& u \\
f_z &=& v^2
\end{eqnarray}
$$
を媒介変数表示したのが、以下のグラフです。
sage入力:
#pre{{
u, v = var('u v')
fx = u*v
fy = u
fz = v^2
parametric_plot3d([fx, fy, fz], (u, -1, 1), (v, -1, 1), f...
}}
&ref(sage0-13.png);
** コメント [#v5b24d6e]
#vote(おもしろかった[33],そうでもない[1],わかりずらい[2])
皆様のご意見、ご希望をお待ちしております。
- 大変参考になりました。一つ質問なのですが、2次元または3...
- 描画領域を指定するには、showの引数でxmin, xmax, ymin, y...
2次元のパラメトリックプロットを例に説明します。-- [[竹本...
#pre{{
var('t')
pt = parametric_plot([cos(t),sin(t)],[t,0,2*pi], aspect_r...
pt.show(xmin=-0.5, xmax=0.8)
}}
&ref(param2d_show.png);
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2009/11/12からのアクセス回数 &counter;
** グラフの使い方 [#h8082ab7]
sageでのグラフの使い方について、説明します。
[[レファレンスマニュアル >http://sagemath.com/doc/referen...
を参考にしながら見てください。
** 基本図形 [#e249f7f6]
計算結果の表示の他に、補足説明などのために基本図形を表示...
以下によく使う基本図形
- 円: circle
- 文字列: text
- 線: line
- 点: point
- ポリゴン: poligon
を示します。
*** 円 [#w0c359f8]
円は以下のように表示します。
circle((座標), 半径)
circleの例を以下に示します。座標は原点(0, 0)、半径は1です。
sage入力:
#pre{{
circle((0,0), 1)
}}
&ref(sage0.png);
*** 文字列 [#wb166a68]
次に文字列textです。表示する文字列には、$で囲んでlatexの...
textは以下の形式で使用します。文字列の中心が指定した座標...
text(文字列, (座標))
textの例を以下に示します。原点近くで日本語文字が化けてい...
sage入力:
#pre{{
text('test', (1, 1)) + text('$f(x) = x^2 + 1$', (0.5,0.5)...
}}
&ref(sage0-1.png);
*** 線 [#t6e1a619]
線(line)は、指定された座標のリストを線で結びます。
lineの使い方は、簡単です。
line([(開始座標), (終了座標)])
*** 点 [#n646d18a]
これまで、説明しないで使ってきた点(point)です。
point((座標), オプション属性(pointsize, rgccolor, facet...
以下に例を示します。日本語が使えないため、タイトルをhtml...
show関数で表示領域を指定し、すべての図形が表示されるよう...
sage入力:
#pre{{
html('<center>テスト</center>')
c = circle((0.5,0.5), 1)
l = line([(0,0), (1, 1)])
pt = point((0.5, 0.5), rgbcolor='white', pointsize=30, fa...
(c + l + pt).show(xmin=-1, xmax=2)
}}
&ref(sage0-2.png);
*** ポリゴンの塗りつぶし [#a84f01be]
polygon関数を使うとリストで指定した座標の図形を塗りつぶし...
sage入力:
#pre{{
polygon([(0,0), (1,1), (0,1)])
}}
&ref(sage0-3.png);
** 2次元グラフ [#p3eb43e5]
sageでは、簡単に2次元グラフを表示することができます。
2次元グラフには、plot関数を使用します。 plot関数のもっと...
plot(関数, 最小値, 最大値)
です。
例として、\(y=cos(x)\) のグラフを−2π から2πまで描画してみ...
sage入力:
#pre{{
plot(cos, -2*pi, 2*pi)
}}
&ref(sage0-4.png);
*** グラフの基本 [#u3b8bd4a]
もう少しplotの使い方を調べてみましょう。
plotの呼び出しは、以下の形式で覚えると便利です。
plot(関数, [変数名, 最小, 最大], オプション)
オプションは、省略可能です。plotのオプションは、plot.opti...
- 描画範囲指定のxmin, xmax, ymin, ymax
- グラフの比率を指定するaspect_ratio
- 線の色指定のrgbcolor
などです。
sage入力:
#pre{{
# plotのオプションを知る
plot.options
}}
&color(blue){ {'fillalpha': 0.5, 'detect_poles': False, '...
#pre{{
# Graphicsのオプションを知る
Graphics.show?
}}
&ref(Graphics.show.png);
*** 重ね書き [#r49c299f]
重ね書きの例として、直線に○をプロットしてみます。
関数 \(f(x)=\frac{(x2−1)}{(x−1)}\)を-1から3の範囲で表示し...
描画範囲は、(0, 0)から(3, 4)とします。
sage入力:
#pre{{
# 重ね書きの例
p = plot((x^2 - 1)/(x - 1), x, -1, 3)
pt = point((1, 2), rgbcolor='white', pointsize=30, facete...
g = p+pt
g.show(xmin=0, ymin=0, xmax=3, ymax=4)
}}
&ref(sage0-5.png);
*** plotはlimitを計算する [#tf203f69]
グラフをみて、おやっと思われた方もいると思いますが、\(f(x...
sage入力:
#pre{{
limit((x^2 - 1)/(x - 1), x=1)
}}
&color(blue){2};
もう一つ0で不連続な関数\(\frac{x}{sin(x)}\)をグラフにして...
sage入力:
#pre{{
plot(sin(x)/x, x, -100, 100)
}}
&ref(sage0-6.png);
*** 場合分けのグラフ [#x00a2907]
以下のような場合分けのグラフを表示する例を示します。
$$
f(x)=\left\{
\begin{array}{l l}
x^2, & 0 \le x \le 1 \\
2 -x , & 1 \lt x \le 2 \\
x^2-3x+2& 2 \lt x \le 3 \\
\end{array}
\right.
$$
sage入力:
#pre{{
p1 = plot(x^2, x, 0, 1)
p2 = plot(-x+2, x, 1, 2)
p3 = plot(x^2-3*x+2, x, 2, 3)
pt1 = point((0, 0), rgbcolor='black', pointsize=30)
pt2 = point((3, 2), rgbcolor='black', pointsize=30)
(p1+p2+p3+pt1+pt2).show(xmin=0, xmax=3, ymin=0, ymax=2)
}}
&ref(sage0-7.png);
*** パラメトリック方程式の可視化 [#v818b247]
高校で習う運動力学で円運動がありますが、これを時間tをパラ...
$$
x=cos(t), y=sin(t)
$$
となります。\(x,y\)を時間\(t\)をパラメータでので、媒介変...
媒介変数表示を行う関数が、parametric_plot関数です。
parametric_plot([座標を示す関数リスト], (パラメータ名, ...
の形式で使います。 例)単位円上の円運動を媒介変数表示で表...
sage入力:
#pre{{
var('t')
parametric_plot([cos(t),sin(t)],[t,0,2*pi], aspect_ratio=1)
}}
&ref(sage0-8.png);
*** リストプロット [#l8c202ca]
リスト([]で括られた値のリスト)をプロットするlist_plotの...
list_plot(プロットするリスト)
sage入力:
#pre{{
list_plot([1, 2, 4, 3, 6])
}}
&ref(sage0-9.png);
*** 関係式の値をプロット [#jed0f866]
これまでのプロットは、プロットする値を明示的に示すもので...
sage入力:
#pre{{
implicit_plot(x^2 + y^2 == 1, [x, -1, 1], [y, -1, 1], asp...
}}
&ref(sage0-10.png);
** 3次元グラフ [#zf100a94]
2次元グラフと同様に3次元のグラフを表示することができます...
sage入力:
#pre{{
x, y = var('x y')
plot3d(sin(x*y),(x,-pi,pi),(y,-pi,pi), mesh=True)
}}
&ref(sage0-11.png);
*** 等高線グラフ [#f389f1c8]
前のグラフと同じものを等高線グラフで表示すると以下のよう...
sage入力:
#pre{{
var('x y')
contour_plot(sin(x*y), [x, -pi, pi], [y, -pi, pi], aspect...
}}
&ref(sage0-12.png);
*** 3次元の媒介変数表示 [#a63b845d]
3次元の媒介変数表示の例です。
$$
\begin{eqnarray}
f_x &=& u v \\
f_y &=& u \\
f_z &=& v^2
\end{eqnarray}
$$
を媒介変数表示したのが、以下のグラフです。
sage入力:
#pre{{
u, v = var('u v')
fx = u*v
fy = u
fz = v^2
parametric_plot3d([fx, fy, fz], (u, -1, 1), (v, -1, 1), f...
}}
&ref(sage0-13.png);
** コメント [#v5b24d6e]
#vote(おもしろかった[33],そうでもない[1],わかりずらい[2])
皆様のご意見、ご希望をお待ちしております。
- 大変参考になりました。一つ質問なのですが、2次元または3...
- 描画領域を指定するには、showの引数でxmin, xmax, ymin, y...
2次元のパラメトリックプロットを例に説明します。-- [[竹本...
#pre{{
var('t')
pt = parametric_plot([cos(t),sin(t)],[t,0,2*pi], aspect_r...
pt.show(xmin=-0.5, xmax=0.8)
}}
&ref(param2d_show.png);
#comment_kcaptcha
ページ名:
SmartDoc