[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#menu(howto/MenuBar)
* howto/gnuplot [#scff9a2d]
#contents
** 一行メモ [#lb7485a2]
- gnuplot -e "file='some_dir/name_of_file'; legend='label...
- lt 0 lw 2 (線の種類、太さ) pt 6 ps 2 (プロットの種...
- 挙動がわかりづらい理由:
-- オプションとその引数に順番はある。引数とオプションの違...
-- gnuplotは、terminalの種類により別々の補助関数が実行さ...
-- フォントの種類などはterminal毎に完全に別々で(かつ、ど...
- メモ -- &new{2019-07-09 (火) 19:51:32};
set grid; set grid mytics mxtics; set mytics 5; set mxti...
fn='chsRC1Xg32N.sup'; plot fn u (au2fs*$2):3 w l, fn u (...
fn u (au2fs*$2):7 w l, fn u (...
fn u (au2fs*$2):14 w l
- if else文 -- &new{2019-07-15 (月) 19:35:32};
au2fs=0.02418
if ( au2fs == 0.02418 ) { set xlabel "time (fs)" } else {
if ( au2fs == 1 ) { set xlabel "time (au)" } else {
set xlabel "time (ERROR: illeg...
- 目盛りのフォントを大きくするなど -- &new{2019-09-09 (...
-- set lmargin 10; set tics font "Arial,20" #左のマージ...
-- set xlabel offset 0,-1; set ylabel offset -2,0 #軸ラ...
-- set bmargin 3; set xtics offset 0,-0.4 #下のマージン...
-- set tmargin 3; #上のマージンを広げる -- &new{2019-0...
-- set ytics offset 1.8,0 #y軸のメモリの数字をちょっと...
- linuxコマンドの実行 -- &new{2019-09-13 (金) 11:28:48};
gnuplot> ! ls
- set macro をすることで次が可能になる -- &new{2020-04-1...
pstyle="lp"
plot hogehoge @pstyle hogehoge
- XQuartz 2.7.8 (xorg-server 1.16.4) だと set term x11 で...
-- 複数ディスプレイを利用している場合に、X11(XQuartz)のウ...
gnuplot> set terminal x11 position 0,0
または、
$ gnuplot -e "set terminal x11 position 0,0; hogehoge"...
$ gnuplot -e "set terminal x11 position 0,1050;hogehoge"...
$ gnuplot -e "set terminal qt position 0,1050;hogehoge"...
-- XQuartzの環境設定->ウィンドウ->新規ウィンドウにフォー...
- xmgrace の xvgファイルをそのまま plotできるようである -...
-- set datafile commentschars "#@&" としてから、plotする...
-- xmgrace -nxy hoge.xvg 複数のデータを含む xvgファイル...
- http://www.gnuplot.info/docs_4.6/gnuplot-ja.pdf マニュ...
- gnuplot script1 script2 ... とすると、順番にscript1, sc...
- gnuplot> ! linuxコマンド [引数 ...] #gnuplotからlinux...
- たとえば複数のファイルの6列目のグラフの重ね合わせ、10列...
#!/bin/bash --norc
df=' file1.dat fil2.dat file3.dat file4.dat '
nd[6]='max\_d'
nd[10]='max\_disp\_eh'
nd[8]='max\_disp\_x'
for n in 6 10 8 ; do
str=''
for f in $df; do
str="$str '$f' u 1:$n w lp, "
done
str="plot $str"
str=`echo $str | sed 's/,$//'`
echo "set title '${nd[n]}'" > .load.gp
echo $str >> .load.gp
gnuplot '.load.gp' -e "set grid; set xrange[0:100...
done
- MacOSでデュアルウインドウのとき、Gnuplotウインドウがが...
set terminal qt position 10,1100; replot
set terminal qt position 10,110; replot
など
- 媒介変数によるグラフの描画例 -- &new{2022-10-24 (月) 1...
set parametric
degree=pi/180
plot tan(t*degree),tan(t/2*degree)
set trange[-180:180]
h=5; set xrange[-h:h]; set yrange[-h:h]; replot
plot t, t, t, 2*t #となどとすると媒介変数による複数のグ...
- plotのとき with stepsで階段状に線を描いてくれる。 -- &...
- グラフを画像で保存:グラフのウィンドウで、メニューのexp...
- set arrow from 5.0,0.0 to 5.0,1.0; replot #座標(5,0)-(...
#comment
//-------------------------------------------------------...
* グラフ軸など [#nfb8a436]
set title 'タイトル' #グラフのタイトル
set xlabel "らべる" #横軸のラベル
set ylabel "らべる" #縦軸のラベル
set xtics rotate by -90 #目盛の数字を-90°回す;もとに戻...
set format y "%.2f" # y軸の表示形式の指定
set yrange [*:*] ; replot #軸範囲を自動設定に戻す
set ytics autofreq # y軸の目盛を自動に戻す
set mxtics 2 #x軸の副目盛数
set mytics 2 #y軸の副目盛数
set grid ; replot #方眼グリッドを引く
set grid mytics; replot #副目盛りにも方眼グリッドを引く
set logscale y #対数グラフにする。戻すときは unset lo...
//-------------------------------------------------------...
* plot [#c1fe1280]
- データを演算した結果をグラフにする
using 1:(-$7) などができる。ここで$7はカラム番号である(...
$7の符号を逆転させている。
7を変数ncで与えたい場合は using 1:(-column(nc))とする。
また、log10(), abs() などの関数も使える。
plot 'output.txt' u 1:(sqrt($4)) every w l #例
また、using 1:($7>0.0 ? $1 : $2) などの三項演算子も使える。
- 複数のファイルにあるデータを、演算した結果をグラフにする
linuxコマンドpasteを使う。ファイル名を変数として扱うとき...
f0='hoge0.dat'
f1='hoge1.dat'
plot "< paste ".f0." ".f1 using 3:($11/$4) title "ratio"...
- 51点毎にプロット(データを間引く)
plot 'output.txt' u 1:2 every 51 w l
- プロットから軸まで線を引く
plot 'list.libxc_graph' using 2:1 with impulses title '#...
- 棒グラフをプロットする
plot 'list.libxc_graph' using 2:1 with boxes title '# of...
- multiplotで複数のグラフを並べる
(例) 縦長のグラフを横に2つ並べる
set size 0.5,1.0
set multiplot
set origin 0.0,0.0 ; plot sin(x)
set origin 0.5,0.0 ; plot cos(x)
unset multiplot
- 欠損データと無効な値
欠損データは NaN (グラフの線がここで途切れる)
無効な値は ? (set datafile missing "?" のように設定...
グラフの線はここを飛ばして引かれるが...
欠損データ扱いになって、途切れる。)
例
set style data linespoints
plot '-' title "(a)"
1 10
2 20
3 ?
4 40
5 50
e
plot '-' using 1:($2) title "(d)"
1 10
2 20
3 NaN
4 40
5 50
e
[ref] http://takeno.iee.niit.ac.jp/~foo/gp-jman/data/2019...
- everyの説明
例) every ::0:frame::frame など(frameは0,1,2などの値)
frame番目のブロックの、すべての行を最初から飛ばさず...
every 行刻み:ブロック刻み:初期行:初期ブロック:終了行...
行刻み 何行毎に飛ばすか (指定無しは飛ばさな...
ブロック刻み 何ブロック毎に飛ばすか(指定無しは飛ばさな...
初期行 何行目から使うか (指定無しは最初の0行...
初期ブロック 何ブロック目から使うか(指定無しは最初の0ブ...
終了行 何行目まで使うか (指定無しは最後の行...
終了ブロック 何ブロック目まで使うか(指定無しは最後のブ...
** plotの基本 [#oe939c90]
次のようなファイル tmp.trjがあったとする。
0.03125 0.00000 0.00000 0.00000 0.00000 ...
0.06250 0.00000 0.00000 0.00000 0.00000 ...
0.09375 0.00000 0.00000 0.00000 0.00000 ...
...
1列と2列、1列と9列、1列と10列、を使って3本のグラフを描く。
$ gnuplot
gnuplot> plot "tmp.trj" u 1:2 w l, "tmp.trj" u 1:9 w l, ...
または、リモートログイン時は~
(たとえば windows PC(ホスト名がhogehoge)から端末で 別のマ...
別のマシンで実行した gnuplotのグラフをwindows PCに表示し...
$ DISPLAY=hogehoge.eit.hirosaki-u.ac.jp:0 gnuplot
もしくは、sshリモートログイン時に -Yオプションを付けてい...
$ gnuplot
とする。
** 凡例の位置・フォントサイズを変更する [#s5c62590]
set key at 3.5,-5 #座標は凡例の右下の位置、に表示ら...
set key right bottom #右下に表示(bottom以外に、top, ce...
set key font "Arial,13" #ほかに"Times New Roman,12"など...
//-------------------------------------------------------...
* 関数の定義 [#a1288f52]
deg(x)=180.0/pi*x
rad(d)=pi/180.0*d
degree=pi/180 #と変数定義するとmathematicaと同様な扱い
//-------------------------------------------------------...
* その他 [#u3e75df2]
- 文字列の連結は「.」
- plotの入力ファイルをコマンドラインの出力に替える
(例)plotでファイルの先頭と末尾の何行かを除く
plot '< cat hogehoge.sup | tail -n +5 | head -n -2'
- plot 'sample2.dat' using 1:2 smooth csplines with lines...
- 変数確認や初期化に関する事柄
clear # グラフの消去
reset # 設定の初期化(表示領域をデフォルトにもどす)
show variable #ユーザ変数の一覧
undefine fn # 変数の取消
show format # 表示形式の表示
- 略称など
using -> u
with lines -> w l
w lp -> with linespoints
lw 2 #ライン幅
ps 2 #プロット点サイズ
- ターミナルの変更と、出力
set terminal #ターミナルの一覧を表示する(説明つき)
show terminal
show term #利用中のターミナルの種類を知る
set term postscript [colorなど] #変更
set term png
set term x11
show output #利用中の出力先を知る
set output "output.ps" #-> lprプリンタ #印刷?
save "output.plt" #-> load "output.plt" できる #現在の...
- wxtターミナル
Ubuntu 16.04 では 14.04のように wxt は簡単には利用できな...
代わりに gnuplot-qt パッケージをインストール(gnuplot-x11...
set term qt を使うのが良い。
- GIFアニメーションからmp4形式の作成
gnuplotで作成したGIFアニメ→adobe premiere elementsで単に...
→右上の書き出し・配信→携帯電話・携帯プレイヤ→種類はApple...
Premiereの操作は[[Adobe Premiere elementsの操作>https://o...
//-------------------------------------------------------...
* アニメーション表示やgif動画の作成 [#g1cae1ad]
- スクリプト例
# 2018/12/16
f2='demoga4b.vCFEM2.dx010dt0.0005.trj-linex'
t0 = 0.0
x0 = 5.0
px = 4.0
dt = 0.0005
maxstep = 150000
trjevery = 1000
nframe = maxstep / trjevery # number of frame data
set term qt enhanced size 1200,400 #ターミナルqtのキャ...
#gifアニメを作るときは、次の2行をコメントアウトを外す。
# set term gif enhanced animate delay 20 optimize size 1...
# set output "temprev.gif"
do for [ frame = 0 : nframe : 1 ] {
#-------------------------------------------------------...
time = t0 + frame * trjevery * dt
packetcenter = x0 + px * time
packetwidth = 2.5 + 5.0 * time
xrangemax = packetcenter + packetwidth
xrangemin = packetcenter - packetwidth
yrangemax = 1.0
yrangemin = -yrangemax
set xrange [ xrangemin : xrangemax ]
set yrange [ yrangemin : yrangemax ] #自動にするときは...
set grid
set title font "Arial,16"; set title "Time evolution o...
set xlabel font "Arial,16"; set xlabel "x-axis (bohr)"
set ylabel font "Arial,16"; set ylabel "{/Symbol y}(x,t)"
set key font "Arial,16"; set pointsize 8 #凡例文字、...
set tics font "Arial,12"; set format x "%5.0f"; set fo...
set mytics 5 #副目盛の数
set grid mytics
strtitle(frame) = sprintf("t=%5.3f au ( frame %d )", tim...
unset label
set label f2 font 'Arial,11' at graph 0.0...
set label strtitle(frame) font 'Arial,18' at graph 0.5...
set label "{/Symbol y}(x,t=0) =(2 {/Symbol p} w^2)^{-1/4...
font 'Arial,18' at graph 0.02, 0.9
set label ...
font 'Arial,14' at graph 0.03, 0.8
f2ps=1
f2pe=5
plot \
f2 u f2ps:f2pe+1 every ::0:frame::frame w l lc ...
f2 u f2ps:f2pe+2 every ::0:frame::frame w l lc ...
f2 u f2ps:f2pe+0 every ::0:frame::frame w l lc ...
#pause 0.1
#pause 0.1
if( frame == 0 ) {
pause 2.0
}
if( frame <= 10 ) {
pause 0.25
}
if( frame <= 20 ) {
pause 0.25
}
if( frame == nframe ) {
pause 2.0
}
#pause -1
#-------------------------------------------------------...
}
unset output #STDOUTになる(see: show output)
print 'the end'
print 'to reread, press enter' ; pause -1 ; reread
pause -1
//-------------------------------------------------------...
* リンク・マニュアルなど [#o479d69d]
- Gnuplot入門(2007年) http://dsl4.eee.u-ryukyu.ac.jp/DOCS...
- gnuplot 4.6 の日本語マニュアル http://www.gnuplot.info/...
-- グラフメニュー
-- 置換とコマンドラインマクロ
- gnuplotコマンド集 http://www.gnuplot-cmd.com/index.html
- 3Dプロットに関する dgrid3d による平均の説明 http://take...
//-------------------------------------------------------...
* 色名の一覧など [#l7af4a0b]
色の一覧 (Color-name and point-shapelists for gnuplot 4.6...
[[こちら>http://www.ss.scphys.kyoto-u.ac.jp/person/yoneza...
////1000x800を30%としたいが、なぜか効かない。
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
////これは効く。
//#ref(colorname-list2modthumb.png,left,nowrap)
[[&ref(colorname-list2modthumb.png,left,nowrap);>ht...
線の太さやマーカ~
$ gnuplot~
gnuplot> test~
#ref(linepointstyles_bygnuplot.png,left,30%,nowrap)
線やマーカーの変更(w l や w lp のオプション)
lt 0 点線, lw 2 太線
pt 2 ×印, ps 2 大きい印サイズ
pt 6 ○印, ps 1 デフォルトの印サイズ(状況によって異...
pt 1 +印,
//-------------------------------------------------------...
* gnuplotのグラフウィンドウ上での操作コマンド [#yedcceae]
(gnuplot 4.6 patchlevel 6 の場合)
拡大縮小: Ctrl+マウス中ホイール、 - と +,= キーでも可(...
上下移動: マウス中ホイール、↑,↓キーでも可
左右移動: Shift+マウス中ホイール、←,→キーでも可
座標表示: マウス中クリック
デフォルトの set mouse nolabels の状態で、下記 b やウ...
クリアされる。 set mouse labels をするとクリアされない...
クリアされない)。表示座標を消す場合は、labelsの状態で...
Ctrl+マウス中クリックする。
枠非表示のトグル: b
ルーラー表示のトグル: r キー(カーソルのある位置に表示)
操作方法の表示: hキー(端末に表示)
前の表示/次の表示へ戻る/進む: p,n(下図のアイコン -,+...
最初の表示に戻る: u
マウスで囲んだ領域を拡大表示: マウス右ドラッグ後、左ク...
(ヒント:pキーで元に戻り...
#ref(gnuplot_menu_icon.png,left,100%,nowrap)
[ref] https://yutarine.blogspot.com/2019/06/gnuplot-keybo...
終了行:
#menu(howto/MenuBar)
* howto/gnuplot [#scff9a2d]
#contents
** 一行メモ [#lb7485a2]
- gnuplot -e "file='some_dir/name_of_file'; legend='label...
- lt 0 lw 2 (線の種類、太さ) pt 6 ps 2 (プロットの種...
- 挙動がわかりづらい理由:
-- オプションとその引数に順番はある。引数とオプションの違...
-- gnuplotは、terminalの種類により別々の補助関数が実行さ...
-- フォントの種類などはterminal毎に完全に別々で(かつ、ど...
- メモ -- &new{2019-07-09 (火) 19:51:32};
set grid; set grid mytics mxtics; set mytics 5; set mxti...
fn='chsRC1Xg32N.sup'; plot fn u (au2fs*$2):3 w l, fn u (...
fn u (au2fs*$2):7 w l, fn u (...
fn u (au2fs*$2):14 w l
- if else文 -- &new{2019-07-15 (月) 19:35:32};
au2fs=0.02418
if ( au2fs == 0.02418 ) { set xlabel "time (fs)" } else {
if ( au2fs == 1 ) { set xlabel "time (au)" } else {
set xlabel "time (ERROR: illeg...
- 目盛りのフォントを大きくするなど -- &new{2019-09-09 (...
-- set lmargin 10; set tics font "Arial,20" #左のマージ...
-- set xlabel offset 0,-1; set ylabel offset -2,0 #軸ラ...
-- set bmargin 3; set xtics offset 0,-0.4 #下のマージン...
-- set tmargin 3; #上のマージンを広げる -- &new{2019-0...
-- set ytics offset 1.8,0 #y軸のメモリの数字をちょっと...
- linuxコマンドの実行 -- &new{2019-09-13 (金) 11:28:48};
gnuplot> ! ls
- set macro をすることで次が可能になる -- &new{2020-04-1...
pstyle="lp"
plot hogehoge @pstyle hogehoge
- XQuartz 2.7.8 (xorg-server 1.16.4) だと set term x11 で...
-- 複数ディスプレイを利用している場合に、X11(XQuartz)のウ...
gnuplot> set terminal x11 position 0,0
または、
$ gnuplot -e "set terminal x11 position 0,0; hogehoge"...
$ gnuplot -e "set terminal x11 position 0,1050;hogehoge"...
$ gnuplot -e "set terminal qt position 0,1050;hogehoge"...
-- XQuartzの環境設定->ウィンドウ->新規ウィンドウにフォー...
- xmgrace の xvgファイルをそのまま plotできるようである -...
-- set datafile commentschars "#@&" としてから、plotする...
-- xmgrace -nxy hoge.xvg 複数のデータを含む xvgファイル...
- http://www.gnuplot.info/docs_4.6/gnuplot-ja.pdf マニュ...
- gnuplot script1 script2 ... とすると、順番にscript1, sc...
- gnuplot> ! linuxコマンド [引数 ...] #gnuplotからlinux...
- たとえば複数のファイルの6列目のグラフの重ね合わせ、10列...
#!/bin/bash --norc
df=' file1.dat fil2.dat file3.dat file4.dat '
nd[6]='max\_d'
nd[10]='max\_disp\_eh'
nd[8]='max\_disp\_x'
for n in 6 10 8 ; do
str=''
for f in $df; do
str="$str '$f' u 1:$n w lp, "
done
str="plot $str"
str=`echo $str | sed 's/,$//'`
echo "set title '${nd[n]}'" > .load.gp
echo $str >> .load.gp
gnuplot '.load.gp' -e "set grid; set xrange[0:100...
done
- MacOSでデュアルウインドウのとき、Gnuplotウインドウがが...
set terminal qt position 10,1100; replot
set terminal qt position 10,110; replot
など
- 媒介変数によるグラフの描画例 -- &new{2022-10-24 (月) 1...
set parametric
degree=pi/180
plot tan(t*degree),tan(t/2*degree)
set trange[-180:180]
h=5; set xrange[-h:h]; set yrange[-h:h]; replot
plot t, t, t, 2*t #となどとすると媒介変数による複数のグ...
- plotのとき with stepsで階段状に線を描いてくれる。 -- &...
- グラフを画像で保存:グラフのウィンドウで、メニューのexp...
- set arrow from 5.0,0.0 to 5.0,1.0; replot #座標(5,0)-(...
#comment
//-------------------------------------------------------...
* グラフ軸など [#nfb8a436]
set title 'タイトル' #グラフのタイトル
set xlabel "らべる" #横軸のラベル
set ylabel "らべる" #縦軸のラベル
set xtics rotate by -90 #目盛の数字を-90°回す;もとに戻...
set format y "%.2f" # y軸の表示形式の指定
set yrange [*:*] ; replot #軸範囲を自動設定に戻す
set ytics autofreq # y軸の目盛を自動に戻す
set mxtics 2 #x軸の副目盛数
set mytics 2 #y軸の副目盛数
set grid ; replot #方眼グリッドを引く
set grid mytics; replot #副目盛りにも方眼グリッドを引く
set logscale y #対数グラフにする。戻すときは unset lo...
//-------------------------------------------------------...
* plot [#c1fe1280]
- データを演算した結果をグラフにする
using 1:(-$7) などができる。ここで$7はカラム番号である(...
$7の符号を逆転させている。
7を変数ncで与えたい場合は using 1:(-column(nc))とする。
また、log10(), abs() などの関数も使える。
plot 'output.txt' u 1:(sqrt($4)) every w l #例
また、using 1:($7>0.0 ? $1 : $2) などの三項演算子も使える。
- 複数のファイルにあるデータを、演算した結果をグラフにする
linuxコマンドpasteを使う。ファイル名を変数として扱うとき...
f0='hoge0.dat'
f1='hoge1.dat'
plot "< paste ".f0." ".f1 using 3:($11/$4) title "ratio"...
- 51点毎にプロット(データを間引く)
plot 'output.txt' u 1:2 every 51 w l
- プロットから軸まで線を引く
plot 'list.libxc_graph' using 2:1 with impulses title '#...
- 棒グラフをプロットする
plot 'list.libxc_graph' using 2:1 with boxes title '# of...
- multiplotで複数のグラフを並べる
(例) 縦長のグラフを横に2つ並べる
set size 0.5,1.0
set multiplot
set origin 0.0,0.0 ; plot sin(x)
set origin 0.5,0.0 ; plot cos(x)
unset multiplot
- 欠損データと無効な値
欠損データは NaN (グラフの線がここで途切れる)
無効な値は ? (set datafile missing "?" のように設定...
グラフの線はここを飛ばして引かれるが...
欠損データ扱いになって、途切れる。)
例
set style data linespoints
plot '-' title "(a)"
1 10
2 20
3 ?
4 40
5 50
e
plot '-' using 1:($2) title "(d)"
1 10
2 20
3 NaN
4 40
5 50
e
[ref] http://takeno.iee.niit.ac.jp/~foo/gp-jman/data/2019...
- everyの説明
例) every ::0:frame::frame など(frameは0,1,2などの値)
frame番目のブロックの、すべての行を最初から飛ばさず...
every 行刻み:ブロック刻み:初期行:初期ブロック:終了行...
行刻み 何行毎に飛ばすか (指定無しは飛ばさな...
ブロック刻み 何ブロック毎に飛ばすか(指定無しは飛ばさな...
初期行 何行目から使うか (指定無しは最初の0行...
初期ブロック 何ブロック目から使うか(指定無しは最初の0ブ...
終了行 何行目まで使うか (指定無しは最後の行...
終了ブロック 何ブロック目まで使うか(指定無しは最後のブ...
** plotの基本 [#oe939c90]
次のようなファイル tmp.trjがあったとする。
0.03125 0.00000 0.00000 0.00000 0.00000 ...
0.06250 0.00000 0.00000 0.00000 0.00000 ...
0.09375 0.00000 0.00000 0.00000 0.00000 ...
...
1列と2列、1列と9列、1列と10列、を使って3本のグラフを描く。
$ gnuplot
gnuplot> plot "tmp.trj" u 1:2 w l, "tmp.trj" u 1:9 w l, ...
または、リモートログイン時は~
(たとえば windows PC(ホスト名がhogehoge)から端末で 別のマ...
別のマシンで実行した gnuplotのグラフをwindows PCに表示し...
$ DISPLAY=hogehoge.eit.hirosaki-u.ac.jp:0 gnuplot
もしくは、sshリモートログイン時に -Yオプションを付けてい...
$ gnuplot
とする。
** 凡例の位置・フォントサイズを変更する [#s5c62590]
set key at 3.5,-5 #座標は凡例の右下の位置、に表示ら...
set key right bottom #右下に表示(bottom以外に、top, ce...
set key font "Arial,13" #ほかに"Times New Roman,12"など...
//-------------------------------------------------------...
* 関数の定義 [#a1288f52]
deg(x)=180.0/pi*x
rad(d)=pi/180.0*d
degree=pi/180 #と変数定義するとmathematicaと同様な扱い
//-------------------------------------------------------...
* その他 [#u3e75df2]
- 文字列の連結は「.」
- plotの入力ファイルをコマンドラインの出力に替える
(例)plotでファイルの先頭と末尾の何行かを除く
plot '< cat hogehoge.sup | tail -n +5 | head -n -2'
- plot 'sample2.dat' using 1:2 smooth csplines with lines...
- 変数確認や初期化に関する事柄
clear # グラフの消去
reset # 設定の初期化(表示領域をデフォルトにもどす)
show variable #ユーザ変数の一覧
undefine fn # 変数の取消
show format # 表示形式の表示
- 略称など
using -> u
with lines -> w l
w lp -> with linespoints
lw 2 #ライン幅
ps 2 #プロット点サイズ
- ターミナルの変更と、出力
set terminal #ターミナルの一覧を表示する(説明つき)
show terminal
show term #利用中のターミナルの種類を知る
set term postscript [colorなど] #変更
set term png
set term x11
show output #利用中の出力先を知る
set output "output.ps" #-> lprプリンタ #印刷?
save "output.plt" #-> load "output.plt" できる #現在の...
- wxtターミナル
Ubuntu 16.04 では 14.04のように wxt は簡単には利用できな...
代わりに gnuplot-qt パッケージをインストール(gnuplot-x11...
set term qt を使うのが良い。
- GIFアニメーションからmp4形式の作成
gnuplotで作成したGIFアニメ→adobe premiere elementsで単に...
→右上の書き出し・配信→携帯電話・携帯プレイヤ→種類はApple...
Premiereの操作は[[Adobe Premiere elementsの操作>https://o...
//-------------------------------------------------------...
* アニメーション表示やgif動画の作成 [#g1cae1ad]
- スクリプト例
# 2018/12/16
f2='demoga4b.vCFEM2.dx010dt0.0005.trj-linex'
t0 = 0.0
x0 = 5.0
px = 4.0
dt = 0.0005
maxstep = 150000
trjevery = 1000
nframe = maxstep / trjevery # number of frame data
set term qt enhanced size 1200,400 #ターミナルqtのキャ...
#gifアニメを作るときは、次の2行をコメントアウトを外す。
# set term gif enhanced animate delay 20 optimize size 1...
# set output "temprev.gif"
do for [ frame = 0 : nframe : 1 ] {
#-------------------------------------------------------...
time = t0 + frame * trjevery * dt
packetcenter = x0 + px * time
packetwidth = 2.5 + 5.0 * time
xrangemax = packetcenter + packetwidth
xrangemin = packetcenter - packetwidth
yrangemax = 1.0
yrangemin = -yrangemax
set xrange [ xrangemin : xrangemax ]
set yrange [ yrangemin : yrangemax ] #自動にするときは...
set grid
set title font "Arial,16"; set title "Time evolution o...
set xlabel font "Arial,16"; set xlabel "x-axis (bohr)"
set ylabel font "Arial,16"; set ylabel "{/Symbol y}(x,t)"
set key font "Arial,16"; set pointsize 8 #凡例文字、...
set tics font "Arial,12"; set format x "%5.0f"; set fo...
set mytics 5 #副目盛の数
set grid mytics
strtitle(frame) = sprintf("t=%5.3f au ( frame %d )", tim...
unset label
set label f2 font 'Arial,11' at graph 0.0...
set label strtitle(frame) font 'Arial,18' at graph 0.5...
set label "{/Symbol y}(x,t=0) =(2 {/Symbol p} w^2)^{-1/4...
font 'Arial,18' at graph 0.02, 0.9
set label ...
font 'Arial,14' at graph 0.03, 0.8
f2ps=1
f2pe=5
plot \
f2 u f2ps:f2pe+1 every ::0:frame::frame w l lc ...
f2 u f2ps:f2pe+2 every ::0:frame::frame w l lc ...
f2 u f2ps:f2pe+0 every ::0:frame::frame w l lc ...
#pause 0.1
#pause 0.1
if( frame == 0 ) {
pause 2.0
}
if( frame <= 10 ) {
pause 0.25
}
if( frame <= 20 ) {
pause 0.25
}
if( frame == nframe ) {
pause 2.0
}
#pause -1
#-------------------------------------------------------...
}
unset output #STDOUTになる(see: show output)
print 'the end'
print 'to reread, press enter' ; pause -1 ; reread
pause -1
//-------------------------------------------------------...
* リンク・マニュアルなど [#o479d69d]
- Gnuplot入門(2007年) http://dsl4.eee.u-ryukyu.ac.jp/DOCS...
- gnuplot 4.6 の日本語マニュアル http://www.gnuplot.info/...
-- グラフメニュー
-- 置換とコマンドラインマクロ
- gnuplotコマンド集 http://www.gnuplot-cmd.com/index.html
- 3Dプロットに関する dgrid3d による平均の説明 http://take...
//-------------------------------------------------------...
* 色名の一覧など [#l7af4a0b]
色の一覧 (Color-name and point-shapelists for gnuplot 4.6...
[[こちら>http://www.ss.scphys.kyoto-u.ac.jp/person/yoneza...
////1000x800を30%としたいが、なぜか効かない。
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
//#ref(http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa...
////これは効く。
//#ref(colorname-list2modthumb.png,left,nowrap)
[[&ref(colorname-list2modthumb.png,left,nowrap);>ht...
線の太さやマーカ~
$ gnuplot~
gnuplot> test~
#ref(linepointstyles_bygnuplot.png,left,30%,nowrap)
線やマーカーの変更(w l や w lp のオプション)
lt 0 点線, lw 2 太線
pt 2 ×印, ps 2 大きい印サイズ
pt 6 ○印, ps 1 デフォルトの印サイズ(状況によって異...
pt 1 +印,
//-------------------------------------------------------...
* gnuplotのグラフウィンドウ上での操作コマンド [#yedcceae]
(gnuplot 4.6 patchlevel 6 の場合)
拡大縮小: Ctrl+マウス中ホイール、 - と +,= キーでも可(...
上下移動: マウス中ホイール、↑,↓キーでも可
左右移動: Shift+マウス中ホイール、←,→キーでも可
座標表示: マウス中クリック
デフォルトの set mouse nolabels の状態で、下記 b やウ...
クリアされる。 set mouse labels をするとクリアされない...
クリアされない)。表示座標を消す場合は、labelsの状態で...
Ctrl+マウス中クリックする。
枠非表示のトグル: b
ルーラー表示のトグル: r キー(カーソルのある位置に表示)
操作方法の表示: hキー(端末に表示)
前の表示/次の表示へ戻る/進む: p,n(下図のアイコン -,+...
最初の表示に戻る: u
マウスで囲んだ領域を拡大表示: マウス右ドラッグ後、左ク...
(ヒント:pキーで元に戻り...
#ref(gnuplot_menu_icon.png,left,100%,nowrap)
[ref] https://yutarine.blogspot.com/2019/06/gnuplot-keybo...
ページ名: