83.7 Canvas

書式:

     set terminal canvas {size <xsize>, <ysize>} {fsize <fontsize>}
                         {{no}enhanced} {linewidth <lw>}
                         {standalone {mousing} | name '<funcname>'}
                         {jsdir 'URL/for/javascripts'}
                         {title '<some string>'}

< xsize> < ysize> は描画領域のピクセル単位でのサイズを設定します。 standalone モードでのデフォルトのサイズは、600x400 ピクセルです。 デフォルトのフォントサイズは 10 です。注: ファイル canvastext.js で提供 している Hershey simplex Roman フォントのアスキー部分その一つのみが利用 できます。これをファイル canvasmath.js で置き換えることもでき、そこには UTF-8 エンコードされた Hershey simplex Greek と math symbols も含まれて います。

デフォルトの standalone モードは、HTML 5 の canvas 要素を使用してグ ラフを描画するような javascript コードを含む HTML ページを生成します。 その HTML ページは、2 つの必要な javascript ファイル 'canvastext.js'、 'gnuplot_common.js' にリンクします。デフォルトではそれらはローカルファ イルへのリンクで、Unix 互換のシステムでは通常はそれらディレクトリ /usr/local/share/gnuplot/< version> /js にあります。他の環境については、 インストールに関する注意を参照してください。この設定は、オプション jsdir に別のローカルディレクトリ、あるいは一般的な URL を指定するこ とで変更できます。グラフをリモートクライアントのマシンで見れるようにす る場合は、通常は後者の設定が適切でしょう。

canvas 出力形式で生成される描画はすべてマウス操作可能です。キーワード mousing を追加すると、standalone モードのグラフの下にマウストラッ キングボックスをつけます。これは、canvastext.js が置かれているのと同 じローカルディレクトリ、または URL 内の、'gnuplot_mouse.js' という javascript ファイルへのリンクと 'gnuplot_mouse.css' というマウスボック スに関するスタイルシートも追加します。

オプション name は、javascript のみを含むファイルを一つ生成します。 それが含む javascript 関数と、それが描画する canvas 要素の id の両方は、 以下の文字列パラメータから取られます。例えば以下のコマンド

     set term canvas name 'fishplot'
     set output 'fishplot.js'

は、javascript 関数 fishplot() を含むファイルを生成し、その関数はグラ フを id=fishplot の canvas 上に描画します。この javascript 関数を呼び 出す HTML ページは、上で説明した canvastext.js も読み込まなければいけ ません。上のように生成した、この fishplot を取りこむ最小の HTML ファイ ルは以下のようになります:


     <html>
     <head>
         <script src="canvastext.js"></script>
         <script src="gnuplot_common.js"></script>
     </head>
     <body onload="fishplot();">
         <script src="fishplot.js"></script>
         <canvas id="fishplot" width=600 height=400>
             <div id="err_msg">No support for HTML 5 canvas element</div>
         </canvas>
     </body>
     </html>

竹野茂治@新潟工科大学
2010年9月13日