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