可視化の基礎演習
担当教員 大野1概要• 1次元データの可視化– データのフォーマット
– プロット– 線種などの変更– グラフや軸の名前など

参考文献
川原稔：“gnuplotパーフェクト・マニュアル”，ソフトバンクパブリッシング株式会社
2

コマンドについて• set␣ｘｘｘ⏎とすると、unset␣xxx⏎あるいはreset⏎
するまで、その設定は有効• コマンドが長くなったら ¥ を入れて改行できる
Example>plot␣cos(x), sin(x), ¥⏎> tan(x)⏎3ファイルフォーマット -1#X Y
1.0 2.0
2.0 4.0
3.0 6.0
4.0 8.0……..

• テキストファイル• スペースやタブで区切られている

4

ファイルフォーマット -2

data1.datをプロットしてみよう
gnuplot> plot␣“data1.dat”⏎
5

ファイルフォーマット -3
#X
1.0
2.0
3.0
……..
⏎
⏎
……
……
⏎
⏎
……..

Y
2.04.0
6.0

いくつかのデータを改行×2で区切って同じファイルに入れることもできる
初めのブロックから、index 0, index
1,…としてアクセスできる.

6

ファイルフォーマット -4
gnuplot> plot␣"data2.dat"␣index␣0⏎

gnuplot> plot␣"data2.dat"␣index␣1⏎

gnuplot> plot␣"data2.dat"␣index␣2⏎

似てるけど、、、

7

ファイルフォーマット -5• 2カラム以上でもよい。
#xy1
0.0
1.0
1.0
1.2
2.0
1.5
………..

y2
1.2
1.4
1.3

y3
0.9
0.8
0.5

….
…

gnuplot> plot␣"data3.dat"␣using␣1:2⏎ または (or)gnuplot> plot␣"data3.dat"⏎8

ファイルフォーマット -5A• 2カラム以上#xy1
0.01.0
1.0
1.2
2.0
1.5
………..

y2
1.2
1.4
1.3

y3
0.9
0.8
0.5

….
…

gnuplot> plot␣"data3.dat"␣using␣1:4 ⏎9

ファイルフォーマット -6
plot [範囲指定] "File" [index] [using] [smooth] [with スタイル]

順番が違うとエラーが出る(かも)10プロット -1
• デフォルトでは、”+”などのポイントのみのプロット• 線、線とポイント、棒グラフ等々でグラフを描くことができる
例えば
gnuplot> plot␣"data3.dat"␣with␣lines⏎11

プロット -2

with␣points

with␣linespoints

with␣dots
よく見えないけど点がうってある12

プロット -3

with␣impulses

using␣1:2␣with␣boxes
3カラム以上あると、3カラム目の値が棒グラフの幅になる

13

プロット -4
Exercise 1• data3.dat を lines, linespoints, dots,impulses, boxesで描いてみよう• steps, fsteps, histepsでは、どのようなグラフができるか？

14

プロット -5
基本的に折れ線で、結んでいる
gnuplot>plot␣"discrete.dat"␣with␣linespoints⏎
gnuplot>plot␣"discrete.dat"␣smooth␣cspline⏎15

プロット -6
gnuplot>plot␣"discrete.dat"␣smooth␣cspline⏎
gnuplot>plot␣"discrete.dat"␣smooth␣bezier⏎csplinebezier16

線種などの変更 -1• ポイントや線の幅などを変更できる
Line

Point

linewidth

線の幅

pointsize

Pointの大きさ

linetype

線の種類

pointtype

Pointの種類

linecolor

線の色
rgbcolorなど
で指定

17線種などの変更 -2
Example 1

gnuplot>plot␣"data3.dat"␣with␣linespoints␣linewidth␣2␣
pointsize␣2␣pointtype␣4␣linecolor␣rgbcolor␣"#447799"⏎18

線種などの変更 -3• 棒グラフboxboxwidth幅
set boxwidth 0.5 relative
set boxwidth 2style fill solid

set style fill solid 1.0“1.0” is density (密度)style fill pattern

set style fill pattern 5“5” is the pattern number
5はパターンの番号19線種などの変更 -4
Example 2gnuplot> set␣boxwidth␣0.5␣relative⏎
gnuplot> set␣style␣fill␣pattern␣5⏎gnuplot> plot␣"data3.dat"␣using␣1:2␣with␣boxes⏎20線種などの変更 -5• linetype, pointtype, patternはgnuplot>test⏎
で確認できる• x11, wxt, eps, png, ….では、番号が同じでも、色や形が違う場合があるので注意

21

線種などの変更 -6• wxt のテスト結果

Png
色など少し違う22

グラフや軸の名前など -1• Excelのように、グラフや軸のタイトルを入れたい

1. Title of Graphgnuplot> set␣title␣"Title of Graph "⏎gnuplot> plot␣"data3.dat" ⏎23グラフや軸の名前など -2• X,Y軸の名前
gnuplot> set␣xlabel␣"-x-"⏎
gnuplot> set␣ylabel␣"-y-"⏎gnuplot> replot⏎24グラフや軸の名前など -3• 凡例の名前gnuplot> set␣xlabel␣"-x-"⏎
gnuplot> set␣ylabel␣"-y-"⏎gnuplot> plot␣"data3.dat" ␣title ␣“DATA-TROIS”
␣with␣linespoints⏎

25グラフや軸の名前など -4• 凡例の位置やタイトル
gnuplot> unset␣key⏎ :凡例を消す
gnuplot> set␣key␣title␣"title of legend"⏎ # 凡例のタイトル
gnuplot> set␣key␣<POSITION>⏎POSITION
top

上bottom

下left

左right右outside

グラフ外、右below

グラフ外、下26グラフや軸の名前など -5
Example 3
gnuplot>set␣key␣bottom⏎
gnuplot>set␣key␣right⏎
gnuplot>plot␣"discrete.dat"␣smooth␣cspline⏎27グラフや軸の名前など -3Exercise 2
Slide 23-27までを実行してみよう

凡例の位置を変えてみよう

28Appendix -1
線の種類などはplot␣"data.dat"␣with␣linespoints␣1␣3⏎
plot␣"data.dat"␣with␣points␣6⏎などのようにも指定できる

with=w, linespoints=lpなどの略記もある
例:plot␣cos(x)␣w␣lp⏎ =plot␣cos(x)␣with␣linespoints⏎

29

Appendix -2
拡張テキストモード -1• ラベルなどをもっとよくしたい• ギリシャ文字やTeXのようなコマンドが使える• 拡張モードにするには、
gnuplot> set␣termoption␣enhanced⏎(set current
terminal on enhanced mode)or
gnuplot> set␣terminal␣wxt(png, postscripteps…)␣enhanced⏎30

Appendix -2
拡張テキストモード -2a^x or a^{x}: 𝑎 𝑥
a_x or a_{x}: 𝑎𝑥{/font } : フォントの指定, example: {/Times Title}{/=X}: フォントの大きさの指定 X = size of font{/Symbol }: ギリシャ文字 Greek : {/Symbol a} -> α{/Times=30}: size=30のfont=Times(同時に指定)
31

Appendix -2
拡張テキストモード -3
gnuplot> set␣termoption␣enhanced⏎
gnuplot> set␣title␣"{/=30 ␣y=x^2}"⏎gnuplot> set␣xlabel␣"{/Symbol␣FG␣abz}"⏎
gnuplot> set␣ylabel␣“{/Symbol␣¥245}"⏎
gnuplot> plot␣x**2⏎八(はち，eight)ではなく無限大
32

Appendix -3
アニメーション -1• gnuplotのスクリプトを用意することで実現できる• 時系列データの可視化に便利• Example：– animation.plt• アニメーション用のスクリプト– data4.dat• データ。改行x2で区切られたデータ(30個分)が入っている。

33

Appendix -3
アニメーション -2• スクリプトの簡単な解説– if 文: 条件分岐 C言語のifと似ている
&&

And!=

Not equal||Or<, <=＜, ≦==equal>, >=＞, ≧– pause x: x秒停止(wait for x seconds)。-1としたときは、エンターキー待ち– reread: スクリプトをもう一度読み込む。変数は初期化されないことに注意– sprintf: 文字列に置き換わる。C言語のsprintfに似ている– exists("X") 変数Xが定義されているか否か– load␣"animation.plt"⏎でスクリプトを実行。
34

Appendix -3アニメーション -3• animation.pltを少し改造すると、連番画像作成スクリプトになる• img_sequence.plt： 表示をpng出力に変えた• load␣"img_sequence.plt"⏎ で実行• 連番画像は、ImageJ, Quick Time Pro, Adobe製品でムービーにできる (第3回)
35