GRAPHで作画してSVGで文書を仕上げる
日付 | 2011/01/26 |
---|---|
ID | 76226 (英語原文参照) |
バージョン | v12 |
プラットフォーム | Mac/Win |
GRAPHコマンドは, 4D ChartとSVG, ふたつの描画エンジンを切り替えて使用するコマンドです。どちらのエンジンが使用されるのかは, 渡される変数のタイプにより決まります。4D Chartのエリア参照またはC_GRAPH変数を渡せば4D Chart, C_PICTURE変数を渡せばSVGでグラフが作成されることになります。
後者つまりC_PICTURE変数でGRAPHコマンドを使用した場合, 出力されるグラフはSVGで作られているので, 一般的なSVG文書と同じようにコマンドで処理することができます。そのためには, まずC_PICTURE変数をSVG参照(DOM XML参照)に変換する必要があり, たとえばSVGコンポーネントのSVG_Open_pictureコマンドでこれを実行することができます。
C_PICTURE(vGraph) `Pass if you want to use the SVG engine ` Create an array for the x-axis ARRAY TEXT(X;2) X{1}:="1995" ` X Label #1 X{2}:="1996" ` X Label #2 ` Create an array for the y-axis ARRAY REAL(A;2) A{1}:=30 ` Insert some data A{2}:=40 ` Create an array for the y-axis ARRAY REAL(B;2) B{1}:=50 ` Insert some data B{2}:=80 ` graph type C_LONGINT(vType) vType:=4 ` 4 for line graph ` Draw the graph GRAPH (vGraph;vType;X;A;B) ` Set the legends for the graph GRAPH SETTINGS(vGraph;0;0;0;0;False;False;True;"France";"USA") ` convert the C_PICTURE to an SVG_Ref_ID $svgRef:=SVG_Open_picture (vGraph) ` add text to it $textID:=SVG_New_text ($svgRef;"Hello world";0;0) ` convert from SVG_Ref_ID back to C_Picture SVG EXPORT TO PICTURE($svgRef;vGraph) ` clear SVG memory SVG_CLEAR ($svgRef) ` write out the picture file WRITE PICTURE FILE("";vGraph)