Gnuplotハンドブック
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
- 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 - テキスト出力での確認