Gnuplotハンドブック

編集

はじめに

編集

Gnuplotは高機能な2次元・3次元グラフ作成ツールです。コマンドラインベースで動作し、様々なプラットフォームで利用できます。

基本的な使い方

編集

グラフの描画

編集

2次元プロット

編集

基本的な2次元プロットは以下のように行います:

plot sin(x)
plot "data.txt" using 1:2

3次元プロット

編集

3次元プロットは以下のように行います:

splot sin(x)*cos(y)
splot "data.txt" using 1:2:3

出力形式

編集

グラフは様々な形式で出力できます:

set terminal png
set output "graph.png"
plot sin(x)

対応フォーマット:

  • PNG
  • PDF
  • SVG
  • PostScript
  • その他

グラフのカスタマイズ

編集

タイトルと軸ラベル

編集
set title "グラフタイトル"
set xlabel "X軸"
set ylabel "Y軸"

凡例

編集
plot sin(x) title "正弦波"

軸の範囲設定

編集
set xrange [-10:10]
set yrange [-1:1]

グリッド表示

編集
set grid

データファイルの利用

編集

データ形式

編集
  • スペース区切り
  • カンマ区切り(CSV)
  • その他のカスタム区切り
例:
# x y z
1 2 3
2 4 6
3 6 9

データの読み込み

編集
plot "data.txt" using 1:2
plot "data.csv" using 1:2 with lines

スタイルとオプション

編集

プロットスタイル

編集
  • lines
  • points
  • linespoints
  • dots
  • impulses
  • その他
使用例:
plot sin(x) with lines
plot "data.txt" with points

色とライン種

編集
plot sin(x) linecolor rgb "red"
plot cos(x) linetype 2

スクリプト作成

編集

基本的なスクリプト構造

編集
#!/usr/bin/gnuplot

set terminal png
set output "output.png"

plot sin(x)

変数の使用

編集
a = 2
plot a*sin(x)

条件分岐

編集
if (exists("datafile")) {
    plot datafile
} else {
    plot sin(x)
}

高度な機能

編集

フィッティング

編集
f(x) = a*x + b
fit f(x) "data.txt" using 1:2 via a,b

マルチプロット

編集
set multiplot layout 2,2
plot sin(x)
plot cos(x)
plot tan(x)
plot 1/x
unset multiplot

アニメーション

編集
do for [i=1:100] {
    plot sin(x+i/10)
    pause 0.1
}

トラブルシューティング

編集

よくあるエラー

編集
  • "undefined variable" - 変数が定義されていない
  • "cannot open file" - ファイルが見つからない
  • "invalid range" - 範囲指定が不正

デバッグ方法

編集
  • show variables - 現在の変数一覧
  • print - 値の確認
  • set terminal dumb - テキスト出力での確認

外部リンク

編集
 
Wikipedia
ウィキペディアGnuplotの記事があります。