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

gnuplotでのサイズ指定

gnuplotでプロットをpngなど画像として出力する際のサイズ指定は次のように行ないます。
gnuplot> set terminal pngcairo size 640, 480
出力端末(ここではpngcairo)の設定のときにサイズ指定も行うという型式です。

出力例

以下は
  • 1280x960
  • 640x480
  • 320x240
の3つのサイズで出力したものです。
(別々に出力してGIMPで合成しています)

プロットソースコード

set term pngcairo size 1280, 960 font ",24"
set output "1280x960.png"
set title "size : 1280x960"
plot sin(x) w l lw 5 lc "red"

set term pngcairo size 640, 480 font ",12"
set output "640x480.png"
set title "size : 640x480"
plot x**3 w l lw 3 lc "blue"

set term pngcairo size 320, 240 font ",8"
set output "320x240.png"
set title "size : 320x240"
plot 2**x w l lw 2 lc "green"



間違えやすい設定(set size)

 gnuplotには上記とは異なる "set size"という設定があります。これは何かというと、プロット領域のサイズ指定に関する設定となっています。出力画像のサイズ設定ではありません。
(古いバージョンのgnuplotではこの "set size" で出力画像のサイズ設定を行っていたようです。また端末によってはまだ古い設定のままのものが残っているようです)

 "set size" でも縦横の数値を与えて設定しますが、設定値は0〜1の範囲で与えます。1以上の数値も与えることは出来ますが、その場合出力時にはプロットの一部しか描画されません。

 まず、次のグラフはデフォルトと同じ設定である
gnuplot> set size 1, 1
でプロットしたものです。

そして
gnuplot> set size 0.5, 0.5
の設定でプロットすると以下のようになります。縦横それぞれ1/2なので描画領域は1/4程度となります。
(画像の領域サイズは同じなので、分かり難いですが余白が残っています)

そして
gnplot> set size 2, 2
のように1以上の値を与えて設定すると以下のようになります。範囲外となる設定なので、グラフが一部しか描画されていません。

まとめ

 "set size" という似たような設定があるためちょっと分かり難いですが、出力画像のサイズ指定をするときは端末設定と合わせて行う、と覚えておくのがいいでしょう。

gnuplot関連のブログ記事

コメント

スポンサーリンク


このブログの人気の投稿

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

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

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

Pythonのformat()を使って1桁の16進数でも2桁で出力する方法