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)