gnuplotの使い方ログ-3
復習
ファイルの移動
cd "C:/Users/rerur/.wk/gnuplot/data"ファイルの読み込み
plot "as.csv" using 1:2複数行の使用
plot "as.csv" using 1:2凡例の文字設定
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10 k{/Symbol W}", "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}"目盛り
set ticscale 4
set mxtics 2
set mytics 2
set xtics nomirror
set ytics nomirror凡例の枠と大きさ
set key width 1 height 1 box凡例の位置
set key bottom left at 1, -0.5軸名称
set xlabel "{/Times:Italic V}_{s} (V)"
set ylabel "{/Times:Italic I}_{1}, {/Times:Italic I}_{2} (mA)"統計情報
stats "as.csv" using 1:2
変数表示
show variables傾き、切片、相関係数の退避
a1 = STATS_slope
b1 = STATS_intercept
r1 = STATS_correlationa1 : 傾き
b1 : 切片
r1 : 相関係数
二個目
stats "as.csv" using 1:3
a2 = STATS_slope
b2 = STATS_intercept
r2 = STATS_correlationWarning
statsコマンドを実行するたびに変数の値が上書きされるため、必要に応じて関数や変数に値を対比すること
関数の用意
関数を使用して自前の関数を定義
i1(x) = a1 * x + b1
i2(x) = a2 * x + b2プロット
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10k{/Symbol W}", i1(x) notitle, "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}", i2(x) notitleCaution
グラフでホイールを動かすと直線が突き抜けてしまう。
決定係数
s1 = sprintf("{/Times:Italic R}_{1}^{2} = %.4f", r1 ** 2)相関係数の2乗から決定係数を計算して、それを使用する。
二個目
s2 = sprintf("{/Times:Italic R}_{2}^{2} = %.4f", r2 ** 2)回帰直線の式の作成
eq1 = sprintf("{/Times:Italic I}_{1} = %.4f{/Times:Italic V}_{s}%+.4f", a1, b1)
eq2 = sprintf("{/Times:Italic I}_{2} = %.4f{/Times:Italic V}_{s}%+.4f", a2, b2)傾きと切片から直線の式を文字列にして変数 eq1、eq2に代入
+をつけると符号ありになる。
決定係数の表示
set label eq1 at -3, 0.55
set label s1 at -3, 0.45
set label eq2 at -3, 0.3
set label s2 at -3, 0.2このコマンドは使用するたびにラベルが生成されてしまう。
マーカ
マーカの確認
test線種の変更
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10k{/Symbol W}" pt 7, i1(x) notitle lt 1, "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W} pt 4", i2(x) notitle lt 2コマンドファイル
実行内容の保存
save "as7-1.plt"実行内容の読み込み
cd "C:/Users/rerur/.wk/gnuplot/data"
load "as7-1.plt"グラフの出力
set term emf monochrome font "Times New Roman,24" enhanced lw 2
set output "fig2.emf"
replotクローズ
set outputターミナルを元に戻す
set terminal qt一覧
cd "C:/Users/rerur/.wk/gnuplot/data"
plot "as.csv" using 1:2
plot "as.csv" using 1:2plot "as.csv" using 1:2 title "{/Times:Italic r} = 10 k{/Symbol W}", "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}"
set ticscale 4
set mxtics 2
set mytics 2
set xtics nomirror
set ytics nomirror
set key width 1 height 1 box
set key bottom left at 1, -0.5
set xlabel "{/Times:Italic V}_{s} (V)"
set ylabel "{/Times:Italic I}_{1}, {/Times:Italic I}_{2} (mA)"
stats "as.csv" using 1:2
a1 = STATS_slope
b1 = STATS_intercept
r1 = STATS_correlation
stats "as.csv" using 1:3
a2 = STATS_slope
b2 = STATS_intercept
r2 = STATS_correlation
i1(x) = a1 * x + b1
i2(x) = a2 * x + b2
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10k{/Symbol W}", i1(x) notitle, "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}", i2(x) notitle
s1 = sprintf("{/Times:Italic R}_{1}^{2} = %.4f", r1 ** 2)
s2 = sprintf("{/Times:Italic R}_{2}^{2} = %.4f", r2 ** 2)
eq1 = sprintf("{/Times:Italic I}_{1} = %.4f{/Times:Italic V}_{s}%+.4f", a1, b1)
eq2 = sprintf("{/Times:Italic I}_{2} = %.4f{/Times:Italic V}_{s}%+.4f", a2, b2)
set label eq1 at -3, 0.55
set label s1 at -3, 0.45
set label eq2 at -3, 0.3
set label s2 at -3, 0.2
cd "C:/Users/rerur/.wk/gnuplot/data"
plot "as.csv" using 1:2
plot "as.csv" using 1:2plot "as.csv" using 1:2 title "{/Times:Italic r} = 10 k{/Symbol W}", "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}"
set ticscale 4
set mxtics 2
set mytics 2
set xtics nomirror
set ytics nomirror
set key width 1 height 1 box
set key bottom left at 1, -0.5
set xlabel "{/Times:Italic V}_{s} (V)"
set ylabel "{/Times:Italic I}_{1}, {/Times:Italic I}_{2} (mA)"
stats "as.csv" using 1:2
a1 = STATS_slope
b1 = STATS_intercept
r1 = STATS_correlation
stats "as.csv" using 1:3
a2 = STATS_slope
b2 = STATS_intercept
r2 = STATS_correlation
i1(x) = a1 * x + b1
i2(x) = a2 * x + b2
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10 k{/Symbol W}", i1(x) notitle, "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}", i2(x) notitle
s1 = sprintf("{/Times:Italic R}_{1}^{2} = %.4f", r1 ** 2)
s2 = sprintf("{/Times:Italic R}_{2}^{2} = %.4f", r2 ** 2)
eq1 = sprintf("{/Times:Italic I}_{1} = %.4f{/Times:Italic V}_{s}%+.4f", a1, b1)
eq2 = sprintf("{/Times:Italic I}_{2} = %.4f{/Times:Italic V}_{s}%+.4f", a2, b2)
set label eq1 at -3, 0.55
set label s1 at -3, 0.45
plot "as.csv" using 1:2 title "{/Times:Italic r} = 10 k{/Symbol W}" pt 7, i1(x) notitle lt 1, "as.csv" using 1:3 title "{/Times:Italic r} = 15 k{/Symbol W}" pt 4, i2(x) notitle lt 2
定型
ここから二枚目のpdf
データの読み込み
cd "C:/Users/rerur/.wk/gnuplot/data"
set datafile separator ","データの区切り文字をコンマにするもの
Tip
gnuplotのデータの区切り文字のデフォルトは空白かタブのため, CSVファイル形式のデータを読み込む場合,上記の設定が必要!
プロット
plot "as.csv" using 2:1軸
名称の変更
set xlabel "{/Times:Italic I}_{1} (mA)"
set ylabel "{/Times:Italic V}_{s} (V)"目盛り
set ticscale 4
set mxtics 2
set mytics 2
set xtics nomirror
set ytics nomirror凡例
set key width 2 height 1 box演算
軸名称を変更するもの。
y軸は1列目(電圧) × 2列目(電流)で電力の値となる。
set ylabel "{/Times:Italic P}_{1} (mW)"
plot "as.csv" using 2:($1 * $2) title "{/Times:Italic P}_{1}" pt 7凡例の位置調整
set key bottom left at -0.4, 2.25
replot回帰曲線を表す関数
p1(x) = a1 * x ** 2 + b1 * x + c1 回帰曲線の式を
に設定する。
fit p1(x) "as.csv" using 2:($1 * $2) via a1, b1, c1最小2乗法により、a1、b1、c1を求める。
回帰曲線の描画
set ylabel "{/Times:Italic P}_{1} (mW)"
plot "as.csv" using 2:($1 * $2) title "{/Times:Italic P}_{1}" pt 7, p1(x) notitlep1(x)を凡例なしで描画する。

ファイルコマンド
save "as7-2.plt"実行内容の読み込み
cd "C:/Users/rerur/.wk/gnuplot/data"
load "as7-2.plt"グラフの出力
set term emf monochrome font "Times New Roman,24" enhanced lw 2
set output "fig3.emf"
replotクローズ
set outputターミナルを元に戻す
set terminal qt課題補足
余白 - 狭い
フォントサイズ - 12pt
最初に名前と学生番号を記述
図を右クリックして、レイアウト設定から図のサイズを変更する。
縦横比を固定するにチェックを入れる。
比率を高さを55%にする。
キャプションを作成する。
そして中央寄せにする。
そして二枚目をドロップして再度縦の比率を変更する。
キャプションは
である。
中央寄せにする。
最後にpdfで出力して提出する。