2015-04-04 118 views
2

我想繪製圖像數據使用gnuplot,沒有任何邊框,抽動等只是圖像。不幸的是,gnuplot總是把底線畫成白色。下面是應該導致全黑3×3像素的圖像中的內容的示例:gnuplot:陰影圖像沒有白色邊框

set term png size 3,3 
set out 'test.png' 


set xrange [0:2] 
set yrange [0:2] 
unset xlabel 
unset ylabel 
set lmargin 0 
set rmargin 0 
set tmargin 0 
set bmargin 0 
set size ratio -1 
unset xtics 
unset ytics 
set border 0 
unset key 

p '-' w rgbimage 
0 0 0 0 0 
1 0 0 0 0 
2 0 0 0 0 
0 1 0 0 0 
1 1 0 0 0 
2 1 0 0 0 
0 2 0 0 0 
1 2 0 0 0 
2 2 0 0 0 
e 

結果是具有一個白線和2個黑色像素行的圖像:

enter image description here

這裏是一個放大截圖與圖像觀看者的灰色的幀:

enter image description here

任何想法如何SOLV這是嗎?

我正在使用gnuplot 5.0

感謝您的幫助。

+0

我意識到這並沒有多大幫助,但考慮到gnuplot是爲繪製圖表而設計的,我認爲試圖繪製成3x3圖像是對軟件的濫用,並不符合它的意圖。 – d3dave 2015-04-04 18:04:52

+0

我剛剛嘗試過這種方式,並且尺寸爲7x7的圖像看起來是不留下殘餘白線的最小尺寸。考慮增加圖像大小。 – d3dave 2015-04-04 18:09:31

+0

3x3圖像是一個演示效果的示例,使其儘可能簡單。圖像本身顯示了科學數據,一個典型的400x80像素大小的矢量場。我喜歡gnuplot,因爲我也可以添加箭頭並將其保存爲矢量圖形,例如pdf。如果你知道任何其他軟件可以完成這項工作,請告訴我。 – Felix 2015-04-04 18:11:09

回答

2

我認爲有一個3px的3px圖像不是一個正確的用例。當然,代表3x3數據矩陣是完全有效的!

似乎,像某些終端繪製基於像素的數據時存在一些問題。既然你說過了,最後你想得到一個矢量圖像(這在任何情況下都只會影響你在像素數據頂部繪製的一些箭頭),但我只看了一些矢量格式,使用你的例子testdata.dat和腳本testdata.gp

set autoscale xfix 
set autoscale yfix 
set margins 0,0,0,0 
unset xtics 
unset ytics 
unset border 
unset key 

p 'testdata.dat' w rgbimage 
  • pdfcairo不工作,有一定的邊界假象。
  • postscript工作得很好,我用

    set terminal postscript eps level3 size 8cm,1.6cm 
    set output 'testdata.eps' 
    load 'testdata.gp' 
    set output 
    system('epstopdf testdata.eps') 
    
  • tikz正常工作,以及:

    set terminal tikz standalone externalimages size 8cm,1.6cm 
    set output 'testdata.tex' 
    load 'testdata.gp' 
    set output 
    system('pdflatex testdata.tex') 
    
  • svg正常工作:

    set terminal svg standalone size 800,160 
    set output 'testdata.svg' 
    load 'testdata.gp' 
    

我還不知道,開羅碼頭的實際問題是什麼。

+0

感謝您使用這些解決方法。使用svg,圖像的像素結構會丟失,這對我的數據是有問題的。但是,eps工作得很好。 – Felix 2015-04-05 11:33:43

+0

對於SVG,像素結構不應該丟失,這可能是您的查看器的人工產物。爲SVG生成一個PNG鏈接到(名稱'gp_image ... png') – Christoph 2015-04-05 12:40:36

+0

好吧,你是對的。當我將分辨率設置爲高於圖像中數據點的數量時,它的行爲與png終端的行爲不同。我使用了每個維度4倍的像素來獲得尖銳的箭頭,並且svg終端進行插值來確定附加像素的值。實際上,如果你知道如何使用它,它是一個非常好的功能。 – Felix 2015-04-05 16:41:51