指定された点列を折れ線で結ぶ代わりに, 点の位置にマーカーを描くのがDclDrawMarkerである. マーカーの種類は type オプションでフォントテーブルの文字番号を指定する. マーカーの属性としてはマーカーの種類以外に, マーカーの大きさ, ラインインデクスがあり, それぞれ height オプション, index オプションで指定する. また, DclSetParmで内部変数ENABLE_CLIPPINGを.TRUE.とし クリッピングをするように指定すると,マーカーもクリッピングされる.
このポリマーカー描画ルーチンは折れ線と同時に使用することが多い. 折れ線と同じ様に欠損値の処理もできる. DclDrawLineでは何も描かれなかった欠損値に囲まれた孤立点も, DclDrawMarkerでは表示される.
program marker use dcl integer,parameter :: n=41 real :: x(n), y(n) dt = 4.* 3.14159 / (n-1) do i=1,n y(i) = sin(dt*(i-1))*0.15 x(i) = real(i-1)/real(n-1) end do call DclOpenGraphics call DclNewFrame call DclSetWindow( 0.0, 1.0, -0.8, 0.2) call DclSetViewPort( 0.1, 0.9, 0.1, 0.9) call DclSetTransNumber( 1) call DclSetTransFunction call DclSetParm( 'ENABLE_CLIPPING', .true.) call DclDrawViewPortFrame(1) call DclDrawMarker(x, y) ! <-- マーカー描画 (1列目) call DclDrawMarker(x, y-0.1, type=2) ! <-- マーカー描画 (2列目) call DclDrawMarker(x, y-0.2, type=3) ! <-- マーカー描画 (3列目) call DclDrawMarker(x, y-0.3, type=2,height=0.06)! <-- マーカー描画 (4列目) call DclDrawMarker(x, y-0.4, index=2) ! <-- マーカー描画 (5列目) call DclDrawMarker(x, y-0.5, index=3,type=2)! <-- マーカー描画 (6列目) call DclDrawLine(x, y-0.5) ! <-- 折れ線描画 call DclCloseGraphics end program |
|
DclDrawMarker (SGPMU,SGPMZU) |
ユーザー座標系でマーカー列を描く. |
DclDrawMarkerNormalized (SGPMV,SGPMZV) |
正規座標系でマーカー列を描く. |
DclDrawMarkerProjected (SGPMR,SGPMZR) |
透視座標系でマーカー列を描く. |
DclSetMarkerType (SGSPMT) |
マーカータイプを設定する. |
DclSetMarkerIndex (SGSPMI ) |
マーカーのラインインデクスを設定する. |
DclSetMarkerSize (SGSPMS) |
マーカーの大きさを設定する. |
* 括弧の中は、対応するf77インターフェイス名.