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