棒グラフや箱グラフ, エラーバーも描くことができます. また2本の折れ線の差分を塗りつぶすといったルーチンも用意されています. 詳しくはそれぞれのルーチンの解説を参照してください.
program bar use dcl integer,parameter :: n=11, m=5 real,dimension(n) :: x0 , x1, x2, y0, y1, y2, y3 real,dimension(m) :: a !----------------------------------------------------------------------- dt = 1./(n-1) pi = 3.14159 a = (/( (-1)**j *2./((j*2-1)*pi), j=1,m ) /) do i=1, n t = dt*(i-1)*2*pi x0(i) = dt*(i-1) y1(i) = a(1)*cos(t) y2(i) = 0. do j=1, m jj = j*2-1 yy = a(j)*cos(jj*t) y2(i) = y2(i) + yy end do end do y0 = ( y1 + y2 )/2 y3 = -2. x1 = x0 - dt x2 = x0 + dt !----------------------------------------------------------------------- call DclOpenGraphics() call DclNewFrame call DclSetParm( 'GRAPH:LCLIP', .true.) call DclScalingPoint( x0, y0 ) call DclScalingPoint( x1, y1 ) call DclScalingPoint( x2, y2 ) call DclFitScalingParm call DclSetTransFunction call DclDrawScaledAxis call DclDrawYBarFrame( x0, y3, y0, width=0.04 ) call DclDrawYErrorBar( x0, y1, y2 ) call DclCloseGraphics end program |
|
DclDrawXErrorBar (UHERB,UHERBZ) |
x方向のエラーバーを描く. |
DclDrawYErrorBar (UVERB,UVERBZ) |
y方向のエラーバーを描く. |
DclDrawXBarFrame (UHBRF,UHBRFZ) |
x方向の棒グラフの枠を描く. |
DclShadeXBarArea (UHBRA,UHBRAZ) |
x方向の棒グラフの内部に影をつける. |
DclDrawYBarFrame (UVBRF,UVBRFZ) |
y方向の棒グラフの枠を描く. |
DclShadeYBarArea (UVBRA,UVBRAZ) |
y方向の棒グラフの内部に影をつける. |
DclDrawXBoxFrame (UHBXF,UHBXFZ) |
x方向の箱グラフの枠を描く. |
DclShadeXBoxArea (UHBXA,UHBXAZ) |
x方向の箱グラフの内部に影をつける. |
DclDrawYBoxFrame (UVBXF,UVBXFZ) |
y方向の箱グラフの枠を描く. |
DclShadeYBoxArea (UVBXA,UVBXAZ) |
y方向の箱グラフの内部に影をつける. |
* 括弧の中は、対応するf77インターフェイス名.