- Scilabヘルプ
- Graphics
- 2d_plot
- LineSpec
- Matplot
- Matplot1
- Matplot_properties
- Sfgrayplot
- Sgrayplot
- champ
- champ1
- champ_properties
- comet
- contour2d
- contour2di
- contourf
- errbar
- fchamp
- fcontour2d
- fec
- fec_properties
- fgrayplot
- fplot2d
- grayplot
- grayplot_properties
- graypolarplot
- histplot
- paramfplot2d
- plot
- plot2d
- plot2d1
- plot2d2
- plot2d3
- plot2d4
- polarplot
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
plot
2Dプロット
呼び出しの手順
plot(y,<LineSpec>,<GlobalProperty>) plot(x,y,<LineSpec>,<GlobalProperty>) plot(x1,y1,<LineSpec1>,x2,y2,<LineSpec2>,...xN,yN,<LineSpecN>,<GlobalProperty1>,<GlobalProperty2>,..<GlobalPropertyM> plot(<axes_handle>,...)
引数
- x
実数行列またはベクトル. 省略した場合,
1:n
であると 仮定されます. ただし,n
はy
パラメータで 指定された曲線の点の数です.- y
実数行列またはベクトル.
y
はマクロまたはプリミティブ として定義された関数とすることもできます.- <LineSpec>
このオプション引数は文字列で 線を描画する手法を指定するショートカットとして使用されます.
LineSpec
は指定済みの各y
または{x,y}
毎に一つ指定できます.LineSpec
はLineStyle,MarkerおよびColorと同時に処理されます (LineSpec参照). これらの指定子はプロットされた線において線の種類,マーカの種類および色を定義します.- <GlobalProperty>
このオプションの引数は, グローバルオブジェクトのプロパティを定義する 一連の命令
{PropertyName,PropertyValue}
を表し, このプロットで作成された全ての曲線に適用されます. 利用可能なプロパティの全て参照するには GlobalPropertyを参照してください.- <axes_handle>
このオプションの引数は,カレントの軸ではなく
axes_handle
で 指定した軸の内部にプロットが表示されることを指定します (gca参照).
説明
plot
は一連の二次元曲線をプロットします.
plot
はMatlab構文との互換性を改善するために
修正されています.
グラフィックの互換性を改善するために, Matlabユーザは
(plot2dではなく)
plot
を使用してください.
データエントリ仕様 :
本節では,記述を明確化するため,オプションの引数
LineSpec
および GlobalProperty
については言及しません.
これはこれらの引数は,
("Xdata"
,
"Ydata"
および "Zdata"
プロパティを
除く,
GlobalProperty参照)
エントリデータと干渉しないためです.
これら全てのオプション引数を同時に指定することが可能です.
y
がベクトルの場合, plot(y) はベクトル y
をベクトル 1:size(y,'*')
に対してプロットします.
y
が行列の場合, plot(y) はy
の各列を
1:size(y,1)
に対してプロットします.
x
および y
がベクトルの場合, plot(x,y) は
ベクトル y
をベクトル x
に対してプロットします.
ベクトルx
および
y
の要素数は同じである必要があります.
x
がベクトルで y
が行列の場合, plot(x,y)
は y
の各列をベクトル x
に対してプロットします.
この場合,y
の列の数は
x
のエントリの数と同じである必要があります.
x
と y
が行列の場合, plot(x,y) は
y
の各列をx
の同じ列に対してプロットします.
この場合,x
とy
の大きさは同じである必要があります.
最後に, x
または y
が行列の場合,
ベクトルは行列の各行または各列に対してプロットされます.
この選択は,行列の行また列の次元にベクトルの行または列の次元のどちらが
一致するかに応じて行われます.
(x
または y
のみが)正方行列の場合,
列が行よりも優先されます(以下の例参照).
y
はマクロまたはプリミティブとして定義された関数と
することも可能です.この場合,
x
データを(ベクトルまたは行列として)指定する必要があり,
対応するy(x)
の計算が暗黙の内に行われます.
LineSpec
とGlobalProperty
引数は
プロットをカスタマイズするために使用されます.
以下に利用可能な全オプションのリストを示します.
- LineSpec
このオプションは曲線の描画方法を簡便な方法で 指定する際に使用されます. このオプションは,LineStyle, Marker および Color指定子を含む文字列とする 必要があります.
これらのリファレンスは曖昧さがないように 文字列内で指定することが必要です(順番は重要ではありません). 例えば,ダイヤモンド型の記号を付けた赤い長い破線を指定する場合, 以下のように書くことができます:
'r--d'
,'--dire'
または'--reddiam'
または他のあいまいでない命令, もしくは全体を指定する'diamondred--'
(LineSpec参照)線の種類,色,マーカの色(および大きさ)も ポリラインエンティティプロパティにより(再)設定できることに 注意してください (polyline_properties参照).
- GlobalProperty
このオプションは,
LineSpec
を使用する よりも多くのオプションを用いて曲線のプロット方法を指定できます.PropertyName
を定義する文字列と その値であるPropertyValue
(PropertyName
の型に依存して文字列または整数または...) の組で指定する必要があります.GlobalProperty
により複数のプロパティ, つまり, LineSpec により利用可能なあらゆるプロパティ, マーカの色(表示色および背景色), 視認性, クリッピング, 曲線の太さ, を設定可能です. (GlobalProperty参照)これらのプロパティは全て ポリラインエンティティプロパティ (polyline_properties参照) により(再)設定できることに注意してください.
注意
デフォルトでは, 連続したプロットは重ね描きされます.
前のプロットを消去するには,
clf()
を使用してください. auto_clear
モードを
デフォルトで有効にするには,次のようにデフォルトの軸を編集してください:
da=gda();
da.auto_clear = 'on'
表示を改善するためにplot
関数が親の軸の
box
プロパティを修正することがあります.
これは,親の軸がplot
のコールにより作成されたか,
コール前に空である場合に行われます.
軸の一つが原点を中心にしている場合, ボックスは無効となります.
その他の場合, ボックスが有効になります.
ボックスプロパティと軸の配置に関する詳細については, axes_propertiesを参照ください.
色を指定しない場合,曲線をプロットする際にデフォルトの色テーブルが 使用されます. 複数の線を描画する際,plotコマンドは自動的に このテーブルに基づき周期的に選択します. 以下に使用される色を示します:
R |
G |
B |
0. | 0. | 1. |
0. | 0.5 | 0. |
1. | 0. | 0. |
0. | 0.75 | 0.75 |
0.75 | 0. | 0.75 |
0.75 | 0.75 | 0. |
0.25 | 0.25 | 0.25 |
コマンド plot
を入力することによりデモを見ることができます.
例
// x 初期化 x=[0:0.1:2*%pi]'; //simple plot plot(sin(x))
x=[0:0.1:2*%pi]'; // (0,0)を中心とする軸 plot(x-4,sin(x),x+2,cos(x)) a=gca(); // 軸エンティティのハンドル a.x_location = "origin"; a.y_location = "origin"; // plotにより作成されたエンティティに複数の処理を行う a=gca(); a.isoview='on'; a.children // 軸の子のリスト : ここでは,2個のエンティティの複合子オブジェクト poly1= a.children.children(2); //線分群のハンドルをpoly1 に保存 poly1.foreground = 4; // スタイルを変更する別の方法... poly1.thickness = 3; // ...曲線の太さ. poly1.clip_state='off' // 制御をクリップ a.isoview='off';
//LineSpec と GlobalProperty の例: clf(); t=0:%pi/20:2*%pi; plot(t,sin(t),'ro-.',t,cos(t),'cya+',t,abs(sin(t)),'--mo') scf(2) plot([t ;t],[sin(t) ;cos(t)],'xdat',[1:2]) scf(3) axfig3 = gca(); scf(4) // 空白のままにする plot(axfig3,[t ;t],[sin(t) ;cos(t)],'zdat',[1:2],'marker','d','markerfac','green','markeredg','yel') xdel(winsid())
//データ指定 t=-%pi:0.1:%pi; size(t) plot(t) // ベクトルtの大きさに対してyをプロット
t=-%pi:0.1:%pi; plot(t,sin(t)); // tに対してsin(t)をプロット
t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; plot(t) // 行の大きさに対してtの各列をプロット
t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; subplot(221) plot(t,sin(t)); // 列毎にtに対してsin(t)をプロット xtitle("sin(t) versus t") subplot(222) plot(t,sin(t)') xtitle("sin(t)'' versus t") subplot(223) plot(t',sin(t)) a=gca(); a.data_bounds=[0 -1;7 1]; // y軸に隠された垂直線を表示 xtitle("sin(t) versus t''") subplot(224) plot(t',sin(t)') xtitle("sin(t)'' versus t''")
t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; //特別な場合1 //x : vector ([5 6 7 8]) and y : matrix (t) x=[5 6 7 8] plot(x,t); plot(x',t); // idem, x はtに一致するように自動的に転置される (ここでは列)
clf() x=[5 6 7 8] t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; // Only one matching possibility case : how to make 4 identical plots in 4 manners... // x is 1x4 (vector) and y is 4x5 (non square matrix) subplot(221); plot(x,[t [8;9;10;12]]'); subplot(222); plot(x',[t [8;9;10;12]]); subplot(223); plot(x,[t [8;9;10;12]]'); subplot(224); plot(x',[t [8;9;10;12]]'); clf()
t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; //特別な場合2 // xまたはyのみが疎行列の場合 //x : matrix (t) と y : vector ([1 2 3 4]) plot(t,[1 2 3 4]) // plot(t,[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4])と同じ plot(t,[1;2;3;4]) // 同じプロット clf();
t=[1 1 1 1 2 3 4 5 3 4 5 6 4 5 6 7]; clf(); cols = 1:4; // cols is transposed : notice the priority given to the columns treatment plot(t', cols) // equivalent to plot(t',[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4]) plot(t', cols') // the same plot
// y はプリミティブで定義された関数 plot(1:0.1:10,sin) // plot(1:0.1:10,sin(1:0.1:10))と同じ
// ..マクロ: deff('[y]=toto(x)','y=x.*x') plot(1:10,toto)
参照
Report an issue | ||
<< paramfplot2d | 2d_plot | plot2d >> |