Matrix gnuplot矩阵增加了像素大小

Matrix gnuplot矩阵增加了像素大小,matrix,gnuplot,pixel,Matrix,Gnuplot,Pixel,我在gnuplot中可视化大型矩阵时遇到困难,似乎是由于像素大小。作为一个简单的工作示例,我尝试使用以下命令绘制一个5000 x 5000的单位矩阵: set term pngcairo enh col set out "plot.png" unset key set datafile commentschars "%#" set xrange [0:5000] set yrange [5000:0] reverse plot 'A' matrix w image 数据是。生成的绘图如

我在gnuplot中可视化大型矩阵时遇到困难,似乎是由于像素大小。作为一个简单的工作示例,我尝试使用以下命令绘制一个5000 x 5000的单位矩阵:

set term pngcairo enh col
set out "plot.png"    
unset key
set datafile commentschars "%#"
set xrange [0:5000]
set yrange [5000:0] reverse
plot 'A' matrix w image
数据是。生成的绘图如下所示:

你可以看到一些对角线元素,但它看起来很糟糕,很多对角线都丢失了。当我转到10000 x 10000时,对角线都不可见。看起来像素的大小不够大。相比之下,以下matlab代码生成了一个漂亮的图形:

A = eye(5000,5000);
imagesc(A);
该图如下所示:


在这里,我们可以看到一个很好的图像对角线如何使gnuplot生成类似的图形?

选项1:使打印分辨率足够大,使其实际上每边可以表示5000像素。如果生成的图像文件对于您的目的来说太大,您可以使用外部工具(如ImageMagick)对其进行收缩。一个可能的问题是,对角线太细,当你缩小图形时,它将变得不可见

 set size square
 unset key
 set datafile commentschars "%#"
 set xrange [0:5000]
 set yrange [5000:0] reverse

 set term pngcairo size 6000,6000 fontscale 10.
 set output 'bigplot.png'
 plot 'A' matrix w image
 unset output
选项2:对矩阵进行下采样,使其适合较小的绘图分辨率。例如

 set size square
 unset key
 set datafile commentschars "%#"
 set xrange [0:5000]
 set yrange [5000:0] reverse

 set term pngcairo size 600,600
 set output 'smallplot.png'
 plot 'A' matrix every 10:10 with image
下面显示的是选项2的输出