〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
2005/9/11(日)21:07 - 竹の - nolm01.iee.niit.ac.jp - 4158 hit(s)
私も今回のことで色々勉強して分かりましたが、まず、次のことが言えるんだと
思います (多分)。
1) set size の xscale, yscale の値は、グラフが切れる、切れないに影響なし
これは、3D グラフから 2D 射影を作った後で、そのボックスのスケール変換を
行なうからです。
2) set view の scale (第 3 引数) や scale_z は、グラフが切れる、切れない
に影響する
これは、3D グラフから 2D 射影を作るときに使われるからです。
3) set view で 3D 座標 (x,y,z) から 2D 座標 (x_1,y_1) を作るときは以下の
ような感じ (多分):
x_1 = scale*(x*cos(rot_z)+y*sin(rot_z)
y_1 = scale*{cos(rot_x)*(-x*sin(rot_z)+y*cos(rot_z))+z*scale_z*sin(rot_x)}
(scale, rot_x 等は、set view [rot_x],[rot_z],[scale],[scale_z])
4) その後で、set size によって (x_1,y_1) は (x_2,y_2) に変換される:
x_2 = xscale*x_1, y_2 = yscale*y_2
(xscale,yscale は set size [xscale],[yscale])
だから、例えば私の 948 の解のように、
[a]: scale_z を 1 にして、xscale は変えずに yscale と rot_x を変える
ことで切れないようにする
場合、xy 平面の状態 (3D の x 軸, y 軸の角度) を変えないようにするには
yscale*cos(rot_x)
が変化しないようにすればいいようです。948 でいうと、set size 0.5,0.7
よりも、
set size 0.5,0.866 # 0.5*cos(30)=0.866*cos(60)
set view 60,150,1,1
とした方が xy 平面の状態は変わらないようになるようです。
しかし、もっと簡単なのは、
[b]: 切れないように set view の scale を小さくして、できるグラフの大き
さを set size で調整する (set origin の調整もいる)
という手でしょうか。例えば、
set size 1.0,1.0
set view 30,150,0.5,2
set origin 0,0
のようにします。
ただし、[b] では set title によるタイトル位置は変化します。これを調整し
たい場合は [a] も使う必要があるかもしれません。
しみず> 4.できれば、文字が相対的に大きく見えるように図を縮小したい。
しみず> (いちいち大きな文字を指定するのは面倒だから)
これは、すべてのフォントを同じ大きさのものにしたいならば、terminal のデ
フォルトフォントを変える方が楽かも。
set term x11 font "Helvetica, 18"
また、gnuplot-4.1 なら、フォント文字列も文字列変数に入れておいてそれを
使うことができるので、
font1 = "Helvetica, 18"
font2 = "Arial, 14"
とかして、
set xlabel "U" 0.5, -0.4 font font1
のようにすることが可能です。これならそこだけ変えればいちいち直して回る
必要はありません。
〔ツリー構成〕
┣【1003】 re(8):splotで頭が切れる 2005/9/11(日)21:07 竹の (2180) |
〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
※ 『クリックポイント』とは一覧上から読み始めた地点を指し、ツリー上の記事を巡回しても、その位置に戻ることができます.