object について少しだけ.
データや函数の plot だけではなく, object といわれる,例えば多角形を描くことができます.
(正 n 角形を描くなら極座標で円を描くような命令にして
set sample n+1
で描いてしまうという荒業があり得るみたいですが…)
ではまず
help object
で聞いてみると
Syntax:
set object <index>
<object-type> <object-properties>
{front|back|behind} {fc|fillcolor <colorspec>} {fs <fillstyle>}
{default} {lw|linewidth <width>}
で,"それ以降の 2D plot 全部に出てくる object を定義" し,数は何でもいいらしい.
今のところ object-type は rectangle, ellipse, circle もしくは polygon.
rectangle なら
set style rectangle
, それ以外なら set style fill
での設定を継承するが,object ごとに設定することもできるとのこと.
front | back | behind
については, front
ならそう指定された図形の中で一番後ろ,そうじゃないものよりは上に描画,back
ならほかの曲線とかlabel
より後ろに,
behind
なら軸とか back
指定されたものより後ろに,という感じになる.
だから例えば
set object rectangle from screen 0,0 to screen 1,1 behind
を描画域全体に背景をつけるのに使えるということだそうだ.
それぞれについて syntax だけ確認しておくと
set object <index> rectangle
{from <position> {to|rto} <position> |
center <position> size <w>,<h> |
at <position> size <w>,<h>}
set object <index> ellipse {at|center} <position> size <w>,<h>
{angle <orientation>}
{<other-object-properties>
set object <index> circle {at|center} <position> size <radius>
{arc [<begin>:<end>]}
{<other-object-properties>}
set object <index> polygon
from <position> to <position> ... {to <position>}
or
from <position> rto <position> ... {rto <position>}
rto は相対座標で表すときにつかうらしい.というわけでこのへんを適当につかって(何たる適当!)適当なのを描くと
楕円と三角形と長方形が重なってる. |
fc rgb(brown)
とかそんな感じで.object があってもそれは xrange とか yrange の自動設定の時には無視するみたいなので,
手動でそのへんはやってあげましょう.
あと塗りつぶしの半透明とかそういうのをやってみてもよいでしょうね.
gnuplotでフラクタル図形を描こう - プログラムモグモグとかでも object は使われています.
eval
っていうのは,例えば eval "plot sin(x)"
で plot sin(x)
な感じになるとかそういう感じ.少なくともそういう感じのアレとしてそこでは使われている感じです.
このへんまたその内に.こういう感じなら python とかで .plt 書き下して
それを読み込んでもらうのでもいい気がしますが.
あとグラフ中に「ここ注目やで」みたいな矢印入れたりとか
そういう機能も gnuplot さんは充実しているのでいずれやりたいな,と思うのですが,
多分これはその必要に迫られたときに使ってその結果をここに上げる感じになると思います.
(そもそもこの一連の gnuplot も一回レポートで使った分を忘れないうちに,というのが発端.)
No comments:
Post a Comment