2次元グラフ(工事中)

以下の解説は私のカスタマイズ用ファイルの使用を前提とします。

描画関数

曲線:plg
凡例付き曲線:plgl
関数プロット:fp
塗りつぶし等高線:plfc
・等高線:plc
・棒グラフ:plh
など(追加予定)

その他の関数

・ウィンドウの生成とサイズ変更など:win2
・画像の保存(ps,eps,png):hcpng
・画像の保存(描画領域をそのままpngで保存):outpng
など(追加予定)

plg:曲線

plg,y,x,color=,width=,type=,marks=,closed=;
win2,400,400;   /* ウィンドウを表示(既に表示されている場合は不要) */
x=span(0,4,128);   /* 0〜4まで等間隔に128点とりxに格納 */
y = sin(x^2);   /* yをxの関数値として格納 */
fma;   /* キャンバスのクリア */
plg,y,x,color="blue",width=3,type=1;  /*_/_/_/_/ 曲線の描画  _/_/_/_/*/
limits;   /* 最大表示にする  */

補足

色はwhite,gray,yellow,purple,cyan,blue,green,red,blackがそのまま使えます。


plgl:凡例付き曲線

plgl, y, x, legend=, color=, type=, width=, marks=, closed=
外部パラメータ
win2,400,400;   /* ウィンドウを表示(既に表示されている場合は不要) */
x=span(0,4,128);   /* 0〜4まで等間隔に128点とりxに格納 */
y = sin(x^2);   /* yをxの関数値として格納*/
fmal;   /* キャンバスと凡例情報のクリア */
plgl,y,x,color="blue",width=3,type=1,legend="sin(x^2^)";
 /*######## 曲線の描画  ########*/
plgl,2.0*y,x,color="red",width=3,type=2,legend="2*sin(x^2^)"; 
 /*######## 曲線の描画  ########*/
limits;   /* 最大表示にする */
scaley,0.7,side=2; /*y軸方向のスケーリング*/
xyt,"x-axis","y-axis"; /* 軸の名前を表示 */

補足

scaley,0.7,side=2でy軸方向の両側、side=1で上側、side=0で下側に描画範囲を広げます。
scalexはx軸方向に同様の操作を行います。
scale,0.7とすると、x軸方向とy軸方向の両側で描画範囲を広げます。

描画の前に
my_legend_outside=1; my_legend_side="right";
としておくと、以下のグラフになります.


凡例を左内側にしたい場合は
my_legend_outside=0; my_legend_side="left";
とすれば、以下のグラフになります.



fp:関数プロット

win2,400,400;   /* ウィンドウを表示(既に表示されている場合は不要) */
fmal;   /* キャンバスと凡例情報のクリア */
fp,"sin(x)",0,6;
 /*_/_/_/_/ 曲線の描画  _/_/_/_/*/
fp,"1-x^2+0.2*x^3",0,4,legend="1-x^2^+0.2*x^3^";
 /*_/_/_/_/ 曲線の描画  _/_/_/_/*/
limits;   /* 最大表示にする */
scaley,0.8,side=1; /*y軸方向のスケーリング*/
xyt,"x-axis","y-axis"; /* 軸の名前を表示 */

補足


plfc:塗りつぶし等高線

win2,400,400;   /* ウィンドウを表示(既に表示されている場合は不要) */
x= span(-3,3,128)(,-:1:128); /* xの値の2次元配列を作る  */
y= transpose(x); /* xを転置してyの2次元配列を作る  */
z= 0.5*sin(3*sqrt(x^2+y^2)+0.2)*cos((x-y+sin(0.1))); /* zをxとyの関数として計算  */
levs=span(-0.4,0.4,5); /* 等高線の値の設定  */
pal,"heat"; /* 塗りつぶしグラデーションの指定  */
fma; /* キャンバスのクリア  */
plfc,z,y,x,levs=levs; /*_/_/_/_/ 塗りつぶし等高線の描画  _/_/_/_/*/
limits; /* 最大表示にする  */
cbfc,z,levs=levs,ticks=1,label=1; /* カラーバーを表示  */

補足

pal,"パレット名";
で様々なパレットを指定することが出来ます(earth,gray,heat,sunrise,cr,blue,koge,rg,rg2,by,rr,bb,ggなど)。