gnuplotのfit関数を使ったフィッティング～その２～

[前回](http://qiita.com/cesolutionsym/items/c8e68c9f28326a780952)に続いて、グラフのまとめ方です。

3dplotした際に、背景部分の線を隠すことができるようです。
コマンドは「set hidden3d」です。

```gnuplot:qnorm
set hidden3d
set dgrid3d splines
splot 'C:\\Fitting\\Sample3D.txt' with lines
```

プロットすると以下のように陰線部分の色が変わります。
<img width="408" alt="hidden3d.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/0825e9da-b023-cfbf-fa9a-b153c9ceef53.png">

なお、参考にしたリンクは以下になります。
[gnuplot補完](http://superuser.com/questions/716014/create-a-smooth-surface-using-x-y-z-data-gnuplot)
↓こちらがお勧めです。
[gnuplot補完](http://www.gnuplot.info/demo/dgrid3d.html)

## グラフの凡例について
###タイトルの設定
　set title "xxx"
###x軸、y軸のラベル設定
set xlabel "xxx"
set ylabel "xxx"
ちなみに、Texのように、上付き文字は「^」、下付き文字は「_」で設定できるようです。
###レンジの設定例
set xrange[-10:10]
set yrange[-10:10]
###凡例の位置変更
set key <option>
optionで使用できるコマンド：left、right、top、bottom、outside、below
非表示にしたい場合：unset key
###Grid表示
set grid

上記を一通り設定してみます。

```gnuplot:TitleLabel
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
```

プロットすると以下のようになります。

<img width="412" alt="GraprhTittle.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/38870210-7c54-80a4-f468-49992bbec1f4.png">

ひとまず最低限の様式は整ってきました。

## 複数のグラフの重ね合わせ
「,」で式やデータを区切ることで、複数のグラフを重ねて描画することができます。
また、今回格子点をlineでつないだ表記になっていますが、点で表示することもできるようです。
実験データをdotで、x^2+y^2のグラフをlineで書いて重ね合わせてみます。 
コマンドとしては「with line」の部分を「with points」に変更します。

```gnuplot:Points
splot 'C:\\Fitting\\Sample3D.txt' with points, x**2+y**2 with lines
```

<img width="415" alt="Points.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/0e804491-7ce1-6473-70bd-bccdf9a350af.png">

もともとz=x^2+y^2のデータを乱数で作成していただけですので、当然ですがきれいにx^+y^2の上に各点が乗っていますね。

## ポイントサイズ、種類の変更
ポイントの大きさを変えたい場合は、「pointsize xx」という形で書きます。
またポイントやラインのタイプも変更できるようです。
以下のページによると、pointsizeはps、pointtypeはptと書いても良いそうです。（試してみましたが確かにできました）
[gnuplot point,lineタイプ](http://www.proton.jp/main/apps/gnuplotadjust.html)

```gnuplot:Pointtype
splot 'C:\\Fitting\\Sample3D.txt' with points pointsize 0.5 pt 7, x**2+y**2 with lines
```

<img width="396" alt="PointType.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/600a98c0-852a-18ff-1f9e-bec80d9c85bf.png">

## パレットの使用
値の大小に応じて色分けをしたい場合、paletteというコマンドが使えるようです。
以下のリンクが絵付きで見やすいです。
[gnuplot パレット](http://gnuplot.sourceforge.net/demo/pm3dcolors.html)
色の組み合わせで、好みのものを選びます。
今回はCMY rgbformulae 7,5,15を選択します。
set palette modelで上記を定義し、with lines palette、with points palette等で定義します。

```gnuplot: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
```

今までのグラフに関する知見を織り込んでまとめたグラフが以下になります。
<img width="423" alt="palette.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/e6006375-622a-9420-b1a0-2d7250b83b93.png">

大体グラフの形状は分かりましたので、次回フィッティングの方法についてまとめていきます。

##おまけ：pm3d
上記の色分けを調べていた際に見た[リンク](http://www.proton.jp/main/apps/gnuplotadjust.html)によると曲面を色分けすることもできるようですね。
dgrid3dの代わりにpm3dを設定するようですので、早速試してみます。
↓**pm3d**

```gnuplot:pm3d
set pm3d
splot x**2+y**2
```

<img width="432" alt="pm3d.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/c6a28ddd-0a17-7d9a-e335-4fbee7091178.png">

また、等高線形式にするにはpm3d mapを使うようです。
↓**pm3d map**

```gnuplot:pm3dmap
set pm3d map
splot x**2+y**2
```

<img width="437" alt="pm3dmap.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/119667/afa350ff-fe15-490f-6a75-45696fd36e77.png">