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 - テキスト出力での確認