一般的なグラフの描き方
- グラフィカルオブジェクト(graphical object)を生成します。
- plotコマンドを使ってグラフを描画します。
- つまり、「グラフそのもの」と、その描画(見栄え)が分離されています。
- 完全に分離できるのか、というあたりは微妙なところもありますが…。
例1: sin(x) および cos(x) のグラフ
- 「x の範囲が 0 から 2π での sin(x) の(2次元)グラフ」オブジェクトの生成
-
f1 := plot::Function2d(sin(x), x = 0 .. 2*PI)
domtype(f1)
- 「x の範囲が 0 から 2π での cos(x) の(2次元)グラフ(色は青)」オブジェクトの生成
-
f2 := plot::Function2d(cos(x), x = 0 .. 2*PI, Color = RGB::Blue)
domtype(f2)
- f1 の描画
-
plot(f1)
- f2 の描画
-
plot(f1)
- f1 と f2 の同時描画
-
plot(f1,f2)
例2: 陰関数の描画
- 描画したい陰関数の定義
-
f := x^3 + x + 2 - y^2
- 「x in [-5 .. 5] & y in [-5 .. 5] の範囲での f のグラフ」オブジェクト生成
-
g := plot::implicit(f, x = -5..5, y=-5..5)
- g の描画
-
plot(g)
- g の描画(x軸とy軸のスケールが一致するように)
-
plot(g, Scaling = Constrained)
例3: 3次元グラフ
- 「x in [0 .. π], y in [0 .. π] での sin(x2+y2) のグラフ」オブジェクトの生成
-
g1 := plot::Function3d(sin(x^2+y^2), x = 0..PI, y = 0..PI)
- 「x in [0 .. π], y in [0 .. π] での cos(x2+y2) のグラフ」オブジェクトの生成
-
g2 := plot::Function3d(cos(x^2+y^2), x = 0..PI, y = 0..PI)
- g1 の描画
plot(g1)
- g2 の描画(デフォルトの座標軸描画)
plot(g2)
- g2 の描画(原点から座標軸が3方向へ延びる)
plot(g2, Axes=None)
- g1, g2 の同時描画
plot(g2,g2)
- g2 の描画刻みを細かく(デフォルト 20 -> 60)したオブジェクト g3 を生成
g3 := plot::modify(g2, Grid = [60, 60])
- g3 の描画
plot(g3)
グラフィカルオブジェクトの生成
MuPAD Libraries Overview (MuPAD Light 起動後、メニューバーで
HELP -> Browse Manual -> Bookmarks -> MuPAD Libraries Overview -> plot と移動すると閲覧できます)から抜粋したものです。
- plot::bars
- 棒グラフ・ヒストグラム
- plot::contour
- 等高線
- plot::copy
- 既存グラフィカルオブジェクトの複製
- plot::Curve2d
- パラメータ(媒介変数)表現による平面曲線
- plot::Curve3d
- パラメータ表現による空間曲線
- plot::cylindrical
- 円柱座標での、パラメータ表現による曲面
- plot::Ellipse
- 楕円
- plot::Function2d
- 関数 y=f(x) のグラフ
- plot::Function3d
- 関数 z=f(x,y) のグラフ
- plot::implicit
- 陰関数 f(x,y) = 0 のグラフ
- plot::line
- 直線
- plot::Lsys
-
Lindenmayer system (フラクタル曲線など)
- plot::modify
- 既存のグラフィカルオブジェクトを一部変更したグラフィカルオブジェクトを生成
- plot::ode
- 常微分方程式の数値解
- plot::piechart2d
- 円グラフ(平面表示)
- plot::piechart2d
- 円グラフ(立体表示)
- plot::Point
- 点
- plot::poler
- 極座標での、パラメータ表現による平面曲線
- plot::Polygon
- 多角形
- plot::Rectangle2d
- 長方形
- plot::Scene
- "graphical scene"
- plot::spherical
- 極座標(球座標)での、パラメータ表現による曲面
- plot::Surface3d
- パラメータ表現による曲面
- plot::Turtle
- タートルグラフィックス
- plot::vector
- ベクトル(矢印)
- plot::vectorfield
- ベクトル場
- plot::xrotate
- x軸に対しての回転体
- (x,θ) -> (x, f(x) cos(θ), f(x) sin(θ))
- plot::yrotate
- y軸に対しての回転体
- (x,θ) -> (x cos(θ), x sin(θ), f(x))
- ...
色
- RGB
- 「色」を定義しているライブラリ
- RGB::ColorNames()
- 定義されている色の一覧 -> 203個
length(RGB::ColorNames())
- よく使われそうな色
-
- RGB::White ... 白
- RGB::Red ... 赤
- RGB::Blue ... 青
- RGB::Yellow ... 黄
- RGB::Green ... 緑
- ...
描画(plot)
使い方:
plot(グラフィカルオブジェクト, オプション)
plot(グラフィカルオブジェクト, オプション1, オプション2, ...)
plot(グラフィカルオブジェクト1, グラフィカルオブジェクト2, オプション1, ...)
オプションについては plot::Scene のマニュアルを参照してください。
以下は一部抜粋です。
オプション名 | オプションの選択値 |
デフォルト値 |
Axes |
Box, Corner, None, Origin
| 2次元: Origin, 3次元: Box |
Background |
色 | RGB::White
|
Foreground |
色 | RGB::Black
|
LineStyle |
SolidLines, DashedLines |
DashedLines |
Scaling |
Constrained, UnConstrained |
UnConstrained |
グラフの保存
Graphics - VCam Lightのメニューで
File -> Save (As)
を選択します。保存したグラフをダブルクリックすると再描画できます。