2015-12-01 24 views
1

我在3天前發佈了類似的問題(「增加像素大小」)。但是,到目前爲止,沒有答案。因此,我決定開始一個新的話題,讓我的問題更加精確。如何增加單元格的大小並將其固定在gnuplot中

我有68個二維矩陣68,我想從它製作熱圖。我做到了,但是 問題在於,對於這個大小的矩陣,它變得非常小。 https://www.dropbox.com/s/b4ygdg0csa7d5y5/TEST_68x68.png?dl=0

因此,我想增加一個單元格的大小,例如兩次並保持固定。 所以,我的想法是定義一個矩陣,它將比68/68的兩倍大68 * 2/68 * 2,然後相應地增加單元的大小。我試過了:https://www.dropbox.com/s/spwo6zik1f077z3/TEST_incresedTwice.png?dl=0 但是,單元格的尺寸也縮放。它們具有與標準68/68矩陣相同的尺寸(請參閱第一個鏈接)。細胞也移動。例如,而不是綁定到他們的原始座標,我的所有值都移動了10.我知道爲什麼。問題是,如何防止GNUPLOT做到這一點?

總結,我想增加單元的大小,固定它們的尺寸並將這些較大的單元繪製在68 * 2/68 * 2矩陣上。

有什麼建議嗎?謝謝。

謝謝。下面

代碼:

set terminal png transparent truecolor nocrop enhanced size 2000,2000 font  
"arial bold,30」 
set output 'TEST_now.png' 
set size ratio 1 
set palette rgbformulae -21,-22,-23 
set xrange[-0.5:136.5] 
set yrange[-0.5:136.5] 
plot "matrix.dat" matrix using ($1*2):($2*2):3 with image not 

回答

1

隨着image繪圖風格你得到68×68像素,大小相同的。您無法增加單個像素的大小。

在你的數據文件中,你有許多條目0.00這是什麼使白色像素。而且,在數據文件中你有一個像

0.000 0.457 0.000 0.000 
0.000 0.000 0.000 0.000 
0.000 0.073 0.337 0.000 
0.002 0.993 0.916 0.000 
0.000 0.003 0.000 0.000 

部分,在這裏我不知道你會怎麼想到被放大的像素。

可能性是將每個像素繪製爲方形點並使用大點尺寸。然而,這導致直接相鄰點的重疊。爲了減少這種問題了一點,你可以先畫出所有點與0 < z <= 0.1,然後那些0.1 < z <= 0.2等:

set terminal pngcairo transparent truecolor nocrop enhanced size 2000,2000 font "arial bold,30」 
set output 'TEST_now.png' 
set size ratio 1 
set palette rgbformulae -21,-22,-23 
set autoscale xfix 
set autoscale yfix 
set offsets 1,1,1,1 
plot for [i=1:10] "matrix.dat" matrix using ($3 > 0.1*(i-1) && $3 <= 0.1*i ? $1 : 1/0):2:3 with points pt 5 ps 7 palette notitle 

enter image description here

我不知道任何「聰明」的解決方案,即使無視gnuplot的能力。

相關問題