5

gnuplot バージョン 4.6 でスペクトログラムを描画します。ここで最新バージョンであることを確認しました: http://www.gnuplot.info/download.html

Gnuplot は Debian リポジトリからインストールされます。

右側のプロット エリアとスケールには、奇妙な白い線が含まれています。彼らはデータを分離しているようです。高密度データのプロット エリアでは、市松模様のように見えます。

http://imageshack.us/a/img822/6219/linese.png

線はスケール上ではあまり見えませんが、そこにもあります。スケールには水平線のみがあります。

モニター色域か何かかと思いましたが、でも線が出ますpdf monochrome

私のコードは次のとおりです。

#!/usr/bin/gnuplot

set term pdf
# set style fill noborder # checked with and without this line
set output "../results1/fft.pdf"
set pm3d map
splot "../results1/fft.dat"

そこにあるように、オプション noborder を使用してみましたが、行がある場合とない場合の両方が存在します。

サンプルデータは次のとおりです。

0 1 3
0 2 3
0 3 4
0 4 2
0 5 2
0 6 3
0 7 4
0 8 3

1 1 3
1 2 2
1 3 4
1 4 2
1 5 2
1 6 3
1 7 4
1 8 4

2 1 2
2 2 4
2 3 4
2 4 3
2 5 2
2 6 4
2 7 2
2 8 2

3 1 2
3 2 3
3 3 3
3 4 4
3 5 2
3 6 2
3 7 2
3 8 2

この行を取り除く方法はありますか?

4

2 に答える 2

2

これもしばらくの間私を悩ませてきました。私が持っている最善の回避策は、この投稿に触発されています。基本的には使用できます

plot "datafile" with image

splotコマンドの代わりに。データのプロット方法には微妙な違いがいくつかありますが、これにより、色付きの領域の間に厄介なギャップのない.pdfが作成され、ファイルがはるかに小さくなります。

これは、長方形のグリッドを形成するデータに対してのみ実際に機能することに注意してください。データファイルがマトリックス形式の場合(データポイントの数を除いてxまたはyデータはありません)、例では次のようになります。

3 3 2 2
3 2 4 3
...

(各ブロックの最初の行のz値が最初の行になりますなど)コマンドを使用できます

plot 'datafile' ($1*xincr - x0):($2*yincr - y0):3 matrix with image

括弧内のものはオプションですが、結果のプロットを正しいx値とy値にスケーリングできます。(xincrはデータのx増分に設定する必要があるgnuplot変数であり、x0はxオフセットなどです。)

これによりプロットの周囲に白いギャップが生じる場合は、plotコマンドを1回使用し、軸を再スケーリングしてから、もう一度プロットします。

set terminal unknown
plot 'datafile' ($1*xincr - x0):($2*yincr - y0):3 matrix with image
set xr[GPVAL_DATA_X_MIN:GPVAL_DATA_X_MAX]
set yr[GPVAL_DATA_Y_MIN:GPVAL_DATA_Y_MAX]
set output "fft.pdf"
replot

2番目の答え

この効果はpdf-viewerに依存していることがわかりました。たとえば、Linuxではevinceに表示されますが、okularには表示されません。アプリケーションに応じて、別のビューアを使用できます。

于 2012-10-01T20:14:41.870 に答える