2017年1月19日木曜日

gnuplotの点(マーカ)を白抜きにする方法

gnuplotでグラフを描くときに,
○やら△やら□やらの点(マーカ)があるんですが,
これ,中の白い部分は透明です.
「白抜きの方が見やすい」と言われたのですが,
すぐにできるのだろうか・・・



そもそも,「マーカの中を塗りつぶす」という概念がないみたい.
よく考えたら,マーカの中には×やら+やら*やらありますからね.
一般的にマーカを塗りつぶす指定など無さそうですよね.

ただし,○やら△やら□やらのマークの他に,
同色で塗りつぶした●やら▲やら■はありますので,
これをうまく利用するとできるようです.


例: "data.txt" というファイルのデータをプロットする場合(version 4.6と5.0で確認しました.)

plot "data.txt" w p lc "white" pt 5, "data.txt" w lp pt 4

基本はこの形です.
まずはマーク■(pt 5),色を白にしてプロットした後,同じデータをマーク□(pt 4)でプロットします.
これでOK.ほかのマークでもptを適切に設定すればできます.

gnuplotは,線や点がどんどん上書きされていくので,順番が大切です.
後に書いたほうが上に来ます.これも念頭に置いておきます.

ただし,外枠を消えません.消えるのはプロットエリア(内部)だけです.


あとは,凡例が両方出てしまうので,白でプロットした方をnotitleにしたりするとよいです.

0 件のコメント:

コメントを投稿