4
4

More than 5 years have passed since last update.

gnuplot snippet集

Posted at

line plotにエラーバーをつける

p "data.dat" u 1:2:3 w yerrorlines

yerrorlines_sample.png

対数表示

  • formatも変更するとラベルがきれいに表示される
set logscale x
set format x "10^{%L}"

test.png

凡例の表示される場所を座標で指定する

set key at 0.5,10

このときの座標はグラフのx,yの座標値。凡例の右上隅の座標が指定できる。

multiplot

複数の図を並べて表示する。この時、縦・横それぞれに並んだグラフ間でx軸・y軸を共有したいとする。

  • 方針
    • set multiplot コマンドを使って複数の図を描画する。
    • その際に、set tmargin, set lmargin, set bmargin, set rmargin でマージンをセットする。
      • 例えば横方向にぴったりとつめて描画したいときは、左のグラフのrmarginを0にし、右のグラフのlmarginを0にする。
      • 縦方向の場合も同様にtmargin, bmarginをそれぞれセットする。
    • x軸、y軸を描画したくないときには、set format x "" とすると、軸の数値が表示されなくなる。
      • unset xtics を使ってもよいが、その場合は目盛りも表示されなくなる。
    • 左右のプロットで(lmargin+rmargin)の値がそろうようにする。そうしないと、プロットの大きさが左右でそろわなくなる。
      • 左側のプロットのみy軸を表示する場合には、左側のグラフのlmarginを8にセットし、右側はrmarginを大きく取る。
      • 右側に大きめの余白ができてしまうが、epsファイルに書き出した後、BoundingBoxを調整する事により余白を削除できる

test.png

set multiplot layout 2,2

set xrange [0:1]
set yrange [0:1]

unset xlabel
set format x ""             # do not display x-axis
set ylabel "YYY"
set format y "% g"
set tmargin 1
set lmargin 8
set bmargin 2
set rmargin 0
p x

unset xlabel
set format x ""
unset ylabel
set format y ""
set tmargin 1
set lmargin 2
set bmargin 2
set rmargin 6               # (lmargin + rmargin) must be same for all the plots.
p x*x



set tmargin 0
set lmargin 8
set bmargin 3
set rmargin 0
set xlabel "XXX"
set format x "% g"
set ylabel "YYY2"
set format y "% g"
p 1-x

set tmargin 0
set lmargin 2
set bmargin 3
set rmargin 6
set xlabel "XXX"
set format x "% g"
unset ylabel
set format y ""
p 1-x*x

unset multiplot
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4