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 データ解析関連書籍など

コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)