棒グラフや箱グラフ, エラーバーも描くことができます. また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インターフェイス名.