gnuplot / plot3d (1)
not so FAQ
|
3次元プロットのあれこれ (その1)Z軸のゼロ点がXY平面から離れてしまう. splotでは,Z軸の原点は,XY平面から少し離れた所にきます.こ gnuplot> set ticslevel 0 gnuplot> splot (x**2)*(y**2) ![]() もっとメッシュを細かくしたい. 関数を3次元プロットするときの,メッシュ(XY座標)の間隔は メッシュが荒すぎると隠線処理 set hidden3d の時に問題になりま ![]() ![]() これを避けるには,isosampleの値を大きくします.下の例では40に gnuplot> set isosample 40 ![]() ![]() 見る角度を変えたい. 3次元表示での視点は,set viewによって制御されます. gnuplot> show view view is 60 rot_x, 30 rot_z, 1 scale, 1 scale_z となっています.回転させる前は,画面上にXY平面があり,Z軸は画面に垂直 ![]() まずX軸を60度(rot_x)回転させます.この結果Z軸は画面に対して ![]() 次に,新しいZ軸に対して30度(rot_z)回転します.これがsplotで ![]() set viewで回転角を変えると,図が回転します.
等高線を変えたい.等高線は, set cntrparam で制御できます. gnuplot> set contour gnuplot> set cntrparam levels 10 gnuplot> set cntrparam levels incremental -1, 0.2, 1 gnuplot> set cntrparam levels discrete -0.2, -0.5, 0.2, 0.5 上では3通りの設定方法を示しています.levelsでは,等高線を何 等高線の凡例は,プロットの凡例と同じ所に描かれます.等高線の凡例だけ 等高線の線種は,表面をプロットしている線種の次のものから順番に使われ 等高線だけを2次元プロットにして描きたい. 3次元表示での視点を真上にすれば,等高線だけの2次元プロットになりま gnuplot> set contour base gnuplot> set nosurface gnuplot> set view 0,0 ![]() set view 60,30
![]() set view 0,0
set view 0,0にすると,Y軸は図の右側に来ます.図の左に移動 ターミナルを table にして等高線の座標を一旦ファイルに書き出し,そ gnuplot> set term table gnuplot> set output "table.dat" gnuplot> replot gnuplot> set output gnuplot> set term x11 gnuplot> plot "table.dat" using 1:2 with lines [ver.4] ONLY ! なお,pm3dを使えば, カラーマップを使った2次元プロットを簡単に作成できます. |