x軸の(見出しのつく)大目盛りは コマンド set xticsで制御できます。目盛りは unset xticsで消え、
set xticsで(デフォルトの状態の)目盛りがつきます。y,z,x2,y2軸の大目盛りの制御を行なう同様のコマ ンドがあります。
書式:
set xtics {axis | border} {{no}mirror}
{in | out} {scale {default | <major> {,<minor>}}}
{{no}rotate {by <ang>}} {offset <offset> | nooffset}
{add}
{ autofreq
| <incr>
| <start>, <incr> {,<end>}
| ({"<label>"} <pos> {<level>} {,{"<label>"}...) } { format "formatstring" } { font "name{,<size>}" } { rangelimited }
{ textcolor <colorspec> } unset xtics
show xtics
同じ書式がytics,ztics, x2tics,y2tics,cbticsにも適用されます。
axisと borderは gnuplotに目盛り(目盛りの刻自身とその見出し) を、それぞれ軸につけるのか、境 界につけるのかを指示します。軸が境界にとても近い場合、axisを使用すると目盛りの見出し文字を境界 の外に出してしまうでしょう。この場合自動的なレイアウトアルゴリズムによる余白設定は大抵よくない ものとなってしまいます。
mirrorはgnuplotに反対側の境界の同じ位置に、見出しのない目盛りを出力するよう指示します。 nomir-rorは、あなたが想像している通りのことを行ないます。
inと outは目盛りの刻みを内側に描くか外側に描くかを切り変えます。
目盛りの刻みのサイズはscaleで調整できます。<minor>の指定が省略された場合は、それは0.5*<major>
になります。デフォルトのサイズは、大目盛りが1.0で小目盛りが0.5で、これはscale defaultで呼び だせます。
rotateは、文字列を90度回転させて出力させようとします。これは、文字列の回転をサポートしている
出力ドライバ(terminal) では実行されます。norotate はこれをキャンセルします。rotate by <ang>
は角度<ang>の回転を行ないますが、これはいくつかの出力形式(terminal) でサポートされています。
x と y 軸の大目盛りのデフォルトは border mirror norotate で、x2, y2 軸は border nomirror norotateがデフォルトです。z軸には、{axis |border}オプションは無効で、デフォルトはnomirror
152 gnuplot 4.4 75 SET-SHOW
です。z 軸の目盛りをミラー化したいなら、多分 set border でそのための空間をあける必要があるで しょう。
<offset>はx,yかまたはx,y,zの形式で指定しますが、それに座標系を選択して、その前にfirst,second,
graph,screen,characterのいずれかをつけることもできます。<offset>は刻み文字のデフォルトの位 置からのずれを表し、デフォルトの座標系はcharacterです。詳細は、以下参照: coordinates (p. 21)。
nooffsetはずらしを無効にします。
例:
xticsをより描画に近づける:
set xtics offset 0,graph 0.05
オプションなしでset xticsを実行すると、目盛りが表示される状態であれば、それはデフォルトの境界、
または軸を復元し、そうでなければ何もしません。その前に指定した目盛りの間隔、位置(と見出し)は保 持されます。
目盛りの位置は、デフォルト、またはオプションautofreqが指定されていれば自動的に計算されます。そ うでなければ、次の2 つの形式で指定されます:
暗示的な<start>,<incr>,<end>形式は、目盛りの列を<start>から<end>の間を<incr>の間隔
で表示します。<end>を指定しなければ、それは無限大とみなされます。<incr>は負の値も可能です。
<start>と<end>の両方が指定されていない場合、<start>は-∞、<end>は+∞とみなされ、目盛り
は<incr>の整数倍の位置に表示されます。軸が対数軸の場合、目盛りの間隔(増分)は、積因子として使
用されます。
負の<start>や<incr>を、数値の後ろに指定すると(例えばrotate by<angle>とかoffset<offset>
の後ろ)、gnuplot の構文解析器は、その値からその負の<start>や <incr>の値の引き算を行おうとす る間違いを犯します。これを回避するには、そのような場合は、0-<start>や0-<incr>のように指定 してください。
例:
set xtics border offset 0,0.5 -5,1,5 最後の’,’ のところで失敗します。
set xtics border offset 0,0.5 0-5,1,5 か
set xtics offset 0,0.5 border -5,1,5
ならば、ちゃんと指示通りに、目盛りを境界に、目盛り見出し文字列を0,0.5文字分だけずらして、start, increment, endをそれぞれ-5,1,5に設定します。
set gridのオプション’front’, ’back’, ’layerdefault’も、x軸の目盛りの描画の順序に影響します。
例:
目盛りを0, 0.5, 1, 1.5, ..., 9.5, 10の位置に生成 set xtics 0,.5,10
目盛りを..., -10, -5, 0, 5, 10, ... に生成 set xtics 5
目盛りを1, 100, 1e4, 1e6, 1e8に生成
set logscale x; set xtics 1,100,1e8
明示的な("<label>" <pos> <level>, ...) の形式は、任意の目盛りの位置、あるいは数字でない見出し の生成も可能にします。この形式では、目盛りは位置の数字の順に与える必要はありません。各目盛りは
位置(pos)と見出し(label)を持ちますが、見出しは必須ではありません。見出しは二重引用符で囲まれ
た文字列であることに注意してください。それは、"hello"のような固定文字列でも構いませんし、"%3f clients"のようにその位置を数字に変換する書式文字列を含んでも構いませんし、空文字列""でも構いま せん。より詳しい情報については、以下参照: set format (p. 106)。もし、文字列が与えられなければ、
デフォルトの数字の見出しが使用されます。
75 SET-SHOW gnuplot 4.4 153
明示的な形式では3つ目のパラメータとして"レベル"(level)を与えることができます。デフォルトのレ ベルは0で、これは大目盛りを意味し、レベルが1の場合小目盛りが生成されます。レベルを指定する場 合はラベルも必ず指定する必要があります。
例:
set xtics ("low" 0, "medium" 50, "high" 100) set xtics (1,2,4,8,16,32,64,128,256,512,1024) set ytics ("bottom" 0, "" 10, "top" 20) set ytics ("bottom" 0, "" 10 1, "top" 20)
2 番目の例では、全ての目盛りが見出し付けされます。3 番目の例では、端のものだけが見出し付けされ ます。4 番目の例の、見出しのない目盛りは小目盛りになります。
通常明示的な(手動の)目盛り位置が与えられた場合、自動的に生成される目盛りは使われません。逆に、
set xtics autoのようなものが指定された場合は、以前に手動で設定した目盛りは消されてしまします。
この手動の目盛りと自動的な目盛りを共存させるにはキーワード add を使用してください。これは追加 する目盛りのスタイルの前に書かなければいけません。
例:
set xtics 0,.5,10
set xtics add ("Pi" 3.14159)
これは自動的に目盛りの刻みをx軸に0.5間隔でつけますが、πのところに明示的な見出しも追加します。
しかし指定しても、表示されるのはあくまで描画範囲のものだけです。
目盛りの見出しの書式(または省略)は set formatで制御されます。ただしそれはset xtics (<label>) の形式の明示的な見出し文字列が含まれていない場合だけです。
(見出し付けされない)小目盛りは、set mxticsコマンドで自動的に追加するか、または位置を手動でset
xtics ("" <pos>1, ...) の形式で与えることもできます。
75.92.1 Xtics time data
時系列データの場合、軸の目盛り位置の値はtimefmtの書式にしたがった日付、または時刻を引用符で囲ん で与えなければいけません。<start>,<incr>,<end>形式を使う場合、<start>と<end>はtimefmt に従って与えますが、<incr>は秒単位で与える必要があります。その時刻は実際にはset formatで与 えた書式に従って表示されます。
例:
set xdata time set timefmt "%d/%m"
set xtics format "%b %d"
set xrange ["01/12":"06/12"]
set xtics "01/12", 172800, "05/12"
set xdata time set timefmt "%d/%m"
set xtics format "%b %d"
set xrange ["01/12":"06/12"]
set xtics ("01/12", "" "03/12", "05/12")
これらは両方とも"Dec 1", "Dec 3", "Dec 5",の目盛りを生成しますが、2 番目の例"Dec 3"の目盛り は見出し付けされません。
75.92.2 Xtics rangelimited
このオプションは、自動的に生成される軸の目盛りの見出しと、描画されたデータで実際に与えられる範 囲に対応する描画境界の両方を制限します。これは描画に対する現在の範囲制限とは無関係であることに 注意してください。例えばデータ"file.dat"のデータがすべて2 <y<4 の範囲にあるとすると、以下の コマンドは、左側の描画境界(y軸)はyの範囲全体([0:10])のこの部分([2:4])のみが描画され、この範
154 gnuplot 4.4 75 SET-SHOW
囲([2:4])の軸の目盛りのみが作られる描画を生成します。つまり、描画はyの範囲全体([0:10])に拡大さ
れますが、左の境界は0から2 の間、4 から10の間は空白領域となります。このスタイルは、範囲枠グ ラフ(range-frame)とも呼ばれます。
set border 3 set yrange [0:10]
set ytics nomirror rangelimited plot "file.dat"