投稿者:管理人
<質問>
Maximaのグラフ描画コマンド「plot2d」で2つのグラフをプロットして、1つのグラフは目盛りを右側に配置して描くにはどのようにすればよいか?
<回答>
これに関しては、幾つかの方法をお知らせしました。
[1] グラフ表示の細かい設定は、直接 gnuplot を利用した方が良い。
異なる目盛りの設定は、下記を参照されたい。
http://lowrank.net/gnuplot/plot1.html#5.2
[2] 上記サイトと同じ画面は、2つ目の関数式を修正して描画し、
凡例表示を修正前の式で表示させるようにすれば得られる。
plot2d([sin(x),2*sin(x)**2-1],
[x,0,2*%pi],[y,-1,1],
[legend,"sin(x)","sin(x)^2"],
[gnuplot_preamble,
"set y2range [0:1];
set y2tics 0,0.2;
set ytics nomirror"])$
[3] Maximaの中で式をいじらないで描画することはできないと
思われるので、gnuplotで調整するしかないのではないか。
たとえば、下記ではどうか。
(1) Maximaで左側軸のグラフを「;」で描いてファイル保存する。
「maxout*****.gnuplot」として保存される。
(2) 次に、gnuplot でそのファイルを開くと(load)、
同じ画面が表示される。
(3) 右側軸(y2)に関して必要な設定を「set」コマンドで指定する。
(4) その上で、replot で右側軸に対応した関数を描画する。
たとえば、「replot sin(x)**2 axis x1y2」