前回に続いて、グラフのまとめ方です。
3dplotした際に、背景部分の線を隠すことができるようです。
コマンドは「set hidden3d」です。
set hidden3d
set dgrid3d splines
splot 'C:\\Fitting\\Sample3D.txt' with lines
なお、参考にしたリンクは以下になります。
gnuplot補完
↓こちらがお勧めです。
gnuplot補完
グラフの凡例について
###タイトルの設定
set title "xxx"
###x軸、y軸のラベル設定
set xlabel "xxx"
set ylabel "xxx"
ちなみに、Texのように、上付き文字は「^」、下付き文字は「_」で設定できるようです。
###レンジの設定例
set xrange[-10:10]
set yrange[-10:10]
###凡例の位置変更
set key
optionで使用できるコマンド:left、right、top、bottom、outside、below
非表示にしたい場合:unset key
###Grid表示
set grid
上記を一通り設定してみます。
set hidden3d
set title "3dplot:x^2+y^2"
set xlabel "x [-]"
set ylabel "y [-]"
set xrange[0:5]
set yrange[0:5]
unset key
set grid
set dgrid3d splines
splot 'C:\\Fitting\\Sample3D.txt' with lines
プロットすると以下のようになります。
ひとまず最低限の様式は整ってきました。
複数のグラフの重ね合わせ
「,」で式やデータを区切ることで、複数のグラフを重ねて描画することができます。
また、今回格子点をlineでつないだ表記になっていますが、点で表示することもできるようです。
実験データをdotで、x^2+y^2のグラフをlineで書いて重ね合わせてみます。
コマンドとしては「with line」の部分を「with points」に変更します。
splot 'C:\\Fitting\\Sample3D.txt' with points, x**2+y**2 with lines
もともとz=x^2+y^2のデータを乱数で作成していただけですので、当然ですがきれいにx^+y^2の上に各点が乗っていますね。
ポイントサイズ、種類の変更
ポイントの大きさを変えたい場合は、「pointsize xx」という形で書きます。
またポイントやラインのタイプも変更できるようです。
以下のページによると、pointsizeはps、pointtypeはptと書いても良いそうです。(試してみましたが確かにできました)
gnuplot point,lineタイプ
splot 'C:\\Fitting\\Sample3D.txt' with points pointsize 0.5 pt 7, x**2+y**2 with lines
パレットの使用
値の大小に応じて色分けをしたい場合、paletteというコマンドが使えるようです。
以下のリンクが絵付きで見やすいです。
gnuplot パレット
色の組み合わせで、好みのものを選びます。
今回はCMY rgbformulae 7,5,15を選択します。
set palette modelで上記を定義し、with lines palette、with points palette等で定義します。
set palette model CMY rgbformulae 7,5,15
set hidden3d
set title "3dplot:x^2+y^2 samples"
set xlabel "x [-]"
set ylabel "y [-]"
set xrange[0:5]
set yrange[0:5]
unset key
set grid
set dgrid3d splines
splot 'C:\\Fitting\\Sample3D.txt' with lines palette
今までのグラフに関する知見を織り込んでまとめたグラフが以下になります。
大体グラフの形状は分かりましたので、次回フィッティングの方法についてまとめていきます。
##おまけ:pm3d
上記の色分けを調べていた際に見たリンクによると曲面を色分けすることもできるようですね。
dgrid3dの代わりにpm3dを設定するようですので、早速試してみます。
↓pm3d
set pm3d
splot x**2+y**2
また、等高線形式にするにはpm3d mapを使うようです。
↓pm3d map
set pm3d map
splot x**2+y**2