グラフを描く(4)
VectorScriptを使ってVectorworksをグラフ作成ツールに変身させてみましょう。
棒グラフ、円グラフ、3Dグラフを描いてみましょう。最後はワークシート情報からグラフを描いてみます。
第4章 3Dグラフを描いてみる
最後は3Dなグラフに挑戦してみましょう。
3Dといえば柱状体がもっとも簡単に描ける3D図形です。
手続きBeginXtrd(startDistance, endDistance : REAL);
手続きEndXtrd;
を使って描けます。
四角形を入れることで、3D棒グラフが描けるようになります。
Z方向の値を高さで表現するので endDistanceを変化させます。
棒グラフの位置は正方形の位置で決まります。
BeginXtrd( 0, 50 ); Rect( 0, 0, 10, 10 ); EndXtrd; BeginXtrd( 0, 20 ); Rect( 20, 0, 30, 10 ); EndXtrd; BeginXtrd( 0, 30 ); Rect( 40, 0, 50, 10 ); EndXtrd;
さらに色を付けてみましょう。2D四角形の面に色を付けます。
BeginXtrd( 0, 50 ); FillBack( 0, 65535, 0 ); Rect( 0, 0, 10, 10 ); EndXtrd; BeginXtrd( 0, 20 ); FillBack( 65535, 0, 0 ); Rect( 20, 0, 30, 10 ); EndXtrd; BeginXtrd( 0, 30 ); FillBack( 0, 0, 65535 ); Rect( 40, 0, 50, 10 ); EndXtrd;
円グラフは厚みをつけるだけで、それっぽくなります。
円グラフを描いてみるのコードに手を加えてみましょう。
PROCEDURE enGraph; VAR startAngle, sweepAngle : REAL; BEGIN BeginXtrd( 0, 5 ); startAngle := 90; FillBack( 0, 65535, 0 ); PenFore( 0, 65535, 0 ); sweepAngle := 50*360/(20+30+50); ArcByCenter( 0, 0, 50, startAngle, -sweepAngle ); startAngle := startAngle - sweepAngle; FillBack( 65535, 0, 0 ); PenFore( 65535, 0, 0 ); sweepAngle := 30*360/(20+30+50); ArcByCenter( 0, 0, 50, startAngle, -sweepAngle ); startAngle := startAngle - sweepAngle; FillBack( 0, 0, 65535 ); PenFore( 0, 0, 65535 ); sweepAngle := 20*360/(20+30+50); ArcByCenter( 0, 0, 50, startAngle, -sweepAngle ); EndXtrd; END; Run( enGraph );