gnuplotの軸(axis)の設定 : x軸、y軸を描く
はじめに
今回はgnuplotでグラフ上にx軸とy軸を描く方法について解説していきます。x軸とy軸を描く
初期設定のグラフ
gnuplotで初期設定のままy = x2 + 1
のグラフを描くと
という出力になるかと思います。
これを見ると、「グラフには普通あるんじゃないかなー?」と思うものが見当たりません。そう、ブログタイトルでネタバレしてますが、x軸とy軸が描かれていません。
フリーハンドで描きますが、グラフなら以下のようにx軸とy軸があるのが見やすいでしょう。
このプロットの場合は軸が合った方が放物線がx軸に接して無いことが分かりやすいですし。
x軸、y軸の設定方法
gnuplotでx軸、y軸を描く方法はいくつかあります。グラフ上の任意の場所に水平線を1本と垂直線を1本描けばいいわけですが(直交座標系の場合)、今回はgnuplotに用意されている機能(zeroaxis)を使って描くことにします。zeroaxis
gnuplotでx軸、y軸(とz軸)を描く機能に「zeroaxis」という機能があります。gnuplot> help zeroaxis
とすればこの機能のヘルプが表示されます。
zeroaxisの設定は
- xzeroaxis
- yzeroaxis
- zzeroaxis
簡単な設定方法
簡単にはgnuplot> set xzeroaxis
とすればx軸が表示されるよう設定され
gnuplot> set yzeroaxis
とすればy軸も表示されるよう設定されます。どうもx軸、y軸とも一度に設定することは出来ないようですが、区切り記号(;)を使って
gnuplot> set xzeroaxis; set yzeroaxis
とすれば、一行に収めることも出来ます(個別にsetを使っていることに注意)。
デフォルトの軸の表示
さて、zeroaxisを設定して始めのグラフをプロットしてみると以下のようになります。これでちゃんとx軸、y軸が思った通りに表示することができました。やはり軸があった方が放物線がどこを通るのかが分かりやすいです。
さて、出力端末によりますがデフォルトではこのように点線でx軸、y軸が表示されます。
軸の表現のカスタマイズ
デフォルトでは点線で表示されますが、これを実線で表示したい場合もあるでしょう。そして、zeroaxisの設定には線種のカスタマイズの設定も出来ます。設定項目は以下のものがあります。
- linestyle
- linetype
- linewidth
- linecolor
- dashtype
gnuplot> set xzeroaxis linetype 1 linecolor "black"
gnuplot> set yzeroaxis linetype 1 linecolor "black"
実際にプロットしてみると、ちゃんと実線で表示されているのが分かります。
軸の表示を消す方法
表示した軸を消すにはunsetを使ってgnuplot> unset xzeroaxis
というようにします。
すべての軸をまとめて消すには
gnuplot> unset zeroaxis
とします。
最後に
今回はzeroaxisを用いてグラフに軸を描き足しましたが、この機能ではx=0とy=0の直線を表示するに留まります。なので、グラフ上の任意の場所に何かしらの直線を描きたい場合には別の方法が必要になることを留意しておいてください。さて軸を描いたなら他にグリッド線なども描きたくなりますが、その話はまた別の機会に。
その他、gnuplot関連のブログ記事
Amazon データ解析関連書籍など
コメント
コメントを投稿