2次元グラフ: plot

############################################################
# グラフの属性はプロット関連コマンドの後に設定します.
############################################################
cosx = load "cos.dat";  # Ver3.4以降はload("cos.dat")とします.
x = linspace(-2*pi,2*pi,50);
plot(x, sin(x), "-1;sin(x);", \
     cosx(:,1), cosx(:,2), "o2;cos(x);");
xlabel("X-label");
ylabel("Y-label"); 
title("2D Plot");
print -deps -color plot2d.eps
system("gv plot2d.eps");


3次元グラフ: surf(x,y,z)

############################################################
# surfプロットがサポートされ,とても簡単になりました.
############################################################
x = linspace(-2*pi,2*pi,50)';
y = linspace(-2*pi,2*pi,50);
z = (sin(x)./x)*(sin(y)./y);
surf(x,y,z);
title("{/Times=34 Surf Plot}");
xlabel("{/Helvetica=24 X-label}");
ylabel("{/Courier=24 Y-label}");
print -deps -color surf.eps
system("display surf.eps")


等高線図: contourf(x,y,z,vn)

############################################################
# contourf(x,y,z) がお薦め.contour(x,y,z)は等高線のみ.
############################################################
x = linspace(-2*pi,2*pi,50)';
y = linspace(-2*pi,2*pi,50);
z = 3*(sin(x)./x)*(sin(y)./y);
contourf(x,y,z);
xlabel("{/Helvetica=36 X-axis}");
ylabel("{/Times=36 Y-axis}");
print -deps -color -FHelvetica:12 contourf.eps
system("display contourf.eps");


マルチプロット: subplot(ROWS,COLS,INDEX)

############################################################
# subplot(ROWS,COLS,INDEX) で楽勝
############################################################
cosx = load "cos.dat"; # Ver3.4以降はload("cos.dat")とします.
x = linspace(-2*pi,2*pi,50)';
y = linspace(-2*pi,2*pi,50);
z = 3*(sin(x)./x)*(sin(y)./y);

subplot(2,2,1)
plot(x, sin(x),"-1;sin(x);",  \
     cosx(:,1),cosx(:,2),"o2;cos.dat;");
title("Multi Plot: subwindow 1");
xlabel("X-axis");
ylabel("Y-axis");

subplot(2,2,2)
surf(x,y,z);
title("Multi Plot: subwindow 2");
xlabel("X-axis");
ylabel("Y-axis");

subplot(2,2,3)
contour(x,y,z);
title("Multi Plot: subwindow 3");
xlabel("X-axis");
ylabel("Y-axis");

print -deps -color -FTimes:8 multi.eps 
system("display multi.eps");