3
2

More than 1 year has passed since last update.

Gnuplot 使いかた

Last updated at Posted at 2022-02-25

主に、gnuplotの文法について。過去の先輩が残してくださったものをこちらに書きました。

目次

*基本
・描画方法
*プロット行の編集
・複数のデータ書く
・プロットする種類
・プロットする太さ,大きさ,種類
・タイトル
*描画色をかえる
*凡例の位置
*軸のこと
・範囲
・ラベル
・軸目盛の間隔変える
・Y2軸作る
*gnuplot で文字書く
・文字を入れる
・文字の書きかた
・矢印を入れる
*いろいろなグラフ
 ・三次元のグラフ
 ・カラーマップ
 ・ベクトル図
 ・おまけ
*いろいろな関数
 ・for文
 ・every文

*グラフをepsで変える
 ・余分な軸の値を消す
 ・凡例,ラベルの位置を変えたいとき,文字を回転させたいとき
 ・凡例の位置,大きさなどを変える

□基本
描画方法
Gnuplot
追加コメント

以下のやり方を使わなくても、もっと速くできる。
やりかたは、予め 〇〇.gp なるファイルを作っておき、 call “〇〇.gp”をgnuplot上でやるだけ。詳しくは、以前に書いた以下の記事を読んでほしい。

gpファイルって何ですか? → テキストファイルの一つ。
この方法が良い理由は、
・〇〇.pltのファイルを無駄に作らずに済む
・gnuplot上でいちいちこのファイルをプロットして、一の太さは…とやるより、gpファイルをメモ帳で開いて変更を加える方が楽
・いちいちchange directlyをしなくていい。なぜなら、gpファイルにchange directlyをするように予め書いておけばいいから。
・a.eps以外の名前に最初から作れる。

「ファイル」→「change directly(ディレクトリの移動)」→(描画させたいファイルの存在場所を選択)

plotするとき
plot  (ファイル名)  using 〇:〇  with  lines

線じゃなくてドットとかで表示したいときは lines のところ points とか lp とかにする。これは後でも変えられる。

複数のデータをプロット
plot \
(ファイル名)  using 〇:〇  with  lines ,\
(ファイル名)  using 〇:〇  with  lines ,\

プロットする種類(withの後)
線:lines
ポイント:points
線とポイント:lp
――――――――――――――――――――――――――――――――――――
lines ライン表示
points データポイント表示
linespoints ラインとデータポイント表示(折れ線表示)
impulses インパルス表示
dots ドット表示
steps ステップ表示
errorbars 誤差グラフ
boxes 棒グラフ
boxerrorbars 誤差と棒グラフ
――――――――――――――――――――――――――――――――――――

グラフの描画の範囲指定

機能コマンド
x軸, y軸とも指定しない  plot exp(x) [Enter]
x軸の上限のみ指定, y軸は指定なし plot [:9] exp(x) [Enter]
x軸の下限のみ指定, y軸は指定なし  plot [1:] exp(x) [Enter]
x軸の上限と下限を指定, y軸は指定なし  plot [1:9] exp(x) [Enter]
x軸は指定なし, y軸の上限と下限を指定  plot [] [1:4] exp(x) [Enter]
x軸とy軸の上限と下限を指定  plot [1:9] [1:4] exp(x) [Enter]

プロットする色
☆lc □ rgb “(好きな色の名前)”
  *lineなどの指定の直後に入れる
プロットする太さ,大きさ,種類

点線にするとき
☆dashtype(〇,△) またはdt (〇,△)
〇:線,△:空白
☆dt “〇”
〇:「.」「-」「_」とか.
太さ
☆linewidth 〇
ドット
種類変えるとき
☆pt 〇
太さ
☆pointsize 〇
タイトル
☆title “名前”
タイトルつけないとき
☆notitle
凡例だけつけて名前つけないとき
☆ title "□"

描画色を変える
set palette rgbformulae , , 

# 7,5,15:黒,青,赤,黄
# 3,11,6:緑,赤,紫
# 23,28,3:緑,青,白
# 21,22,23:黒,赤,黄,白
# 30,31,32:黒,青,紫,黄,白
# 33,13,10:青,緑,黄,赤
# 34,35,36:黒,赤,黄,白
# 5,5,3:黒,紺,白
# set palette defined (〇 “好きな色”, 〇 “好きな色”)
凡例の位置
set key 〇 〇
指定できるオプション
left:左側
right:右側
top:上側
bottom:下側
outside:図の右側の外
below:図の下側の外

凡例の行間を変えるときは
spacing 〇

軸のこと
範囲どの軸に対しても
set 〇range [ : ]
ラベル
 set 〇label "名前"
軸目盛の間隔変える
set 〇tics 
borderと書いてないほう
軸のメモリ消すときは
unset xtics
 軸の表記方法を変える
  階乗表記にする
   ☆set format y "10^{%L}"
set format x "10^{%L}"
   その他の表記方法
     機能     コマンド
全座標軸に書式gを設定   set format "%g" [Enter]
x軸に書式fを設定, 全2桁, 小数点以下1桁   set format x "%2.1f" [Enter]
y軸に書式eを設定, 全2桁, 小数点以下1桁   set format y "%2.1e" [Enter]
x軸とy軸に書式fを設定, 全4桁, 小数点以下2桁  set format xy "%4.2f" [Enter]
現在の目盛りの数値の書式を確認  show format [Enter]
    ここでgは自動eは指数表記fは普通の少数表記
Y2軸作る

set y2tics
このときプロットする全部のデータに対して
axis x〇y〇
をつけてどの軸使うか指定する
gnuplot で文字書く
 set label  at graph , "書きたいこと"
ラベル番号複数入れるとき数を増やす
●:入れ込みたい座標各軸の端を1とした相対座標
フォントの大きさを変えるとき最後に
 font"Times,〇"
を付け足す
文字の書きかた
イタリックにする
 {/TimesNewRoman-Italic 書きたい文字}
シンボル体で書く
 {/Symbol 書きたい文字}
下付き文字上付き文字
 {書きたい文字}@^{書きたい文字}_{書きたい文字}
矢印を入れる
set arrow  from 座標 to 座標
  矢印の見た目を変えることもできる(以下を参照)
いろいろなグラフ
 ・三次元のグラフ
  ☆set pm3d
      Splot  (ファイル名)  using 〇:〇:〇  with  pm3d not
 ・カラーマップ
  ☆set pm3d map
      Splot  (ファイル名)  using 〇:〇:〇 
 ・ベクトル図
  ☆plot  (ファイル名.vec) □using  〇:〇:〇:〇  with vector
   もし,大きさを変えたければ,
  ☆a=〇
plot  (ファイル名.vec) □using  〇:〇:($〇*a): ($〇*a)  with vector
その他
おまけ
 ①Z軸の原点をxy平面上に持ってくる
  ☆set ticslevel 0
  を最終行に持ってくる
 ②グラフの視点を変える
set view 回転1,回転2,グラフの拡大率,z軸の拡大率
いろいろなグラフ
 ・for文
  ☆for [intvar整数変数=start初期値:end終了値)(:increment増分]]
 ・every文
  ☆every I:J:K:L:M:N
     I行の増分
Jデータブロックの増分
Kプロットの開始行
Lプロットの開始データブロック
Mプロット終了行
Nプロットの終了データブロック
    例文:)every 2 1行おきにプロットする
Every ::3 最初の三行を飛ばしてプロットする
Every ::3::5 四行目から六行目までをプロットする
Every ::0::0 最初の行だけをプロットする
Every 2::::6 最初の七行を一行おきにプロットする
Every :2 1データおきにプロットする
Every :::5:8 5から8ブロックをプロットする
グラフをepsで変える
 Epsファイルを秀丸でひらく
 ・余分な軸の値を消す
  その軸の数値の書かれている所の数値を消す
  例文:) [ [(TimesNewRoman) 280.0 0.0 true true 0 ( 10)]この10をけす
 ・凡例ラベルの位置を変えたいとき文字を回転させたいとき
  座標の値translateの数値をかえる
  例文:) 6500 3900 Mここが座標の値
currentpoint gsave translate 0 rotate 0 0 movetoここのtranslateを変える
[ [(Symbol) 280.0 0.0 true true 0 (W)]
XYsave
[(TimesNewRoman-Italic) 224.0 -84.0 true true 0 (p)]
XYrestore
[(TimesNewRoman-Italic) 224.0 140.0 true true 0 (W)]
] -93.3 MCshow
 ・凡例の位置大きさなどを変える
  例文:)0.00 0.00 1.00 C 2700 3500 M下線部分が座標
600 0 V下線部分が凡例の線の長さ
2167 1215 M
627 293 V
  ⋮ ⋮ 
627 265 V
2167 1215 BoxF
⋮ ⋮ 
4047 2090 BoxF ←ここらへんはグラフのプロット
4674 2364 BoxF
⋮ ⋮ 
6555 3176 BoxF
3000 3500 BoxF下線部分が凡例の球の座標だいたい一番下が凡例の球を表す
epsで文字を加えるとき
例文:)LTb
ここから文字情報を入れて
3500 2520 M
[ [(ZapfDingbats) 450.0 0.0 true true 0 (H)]
[(TimesNewRoman) 280.0 0.0 true true 0 ( )]
] -93.3 MLshow
ここまでを変える
LCb setrgbcolor

最後に
バグが出たとき確かめよう(^^♪
グラフが描画されないとき
①読み込みファイルの改行がいいところでできているか
②読み込みファイルの最終的に開業があったら出ないこともある
グラフが開かない
①ファイル名がおかしい文字を含んでいる
 ←一度ファイル名を『a.plt』とかにして確認してみる
②ファイル名が間違っている

3
2
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
3
2