棒グラフ・エラーバー

棒グラフや箱グラフ, エラーバーも描くことができます. また2本の折れ線の差分を塗りつぶすといったルーチンも用意されています. 詳しくはそれぞれのルーチンの解説を参照してください.

bar.f90
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インターフェイス名.