我正在尝试从数据文件中加载一个 60x150 矩阵来创建热图。我希望这些数据点在 y 轴上跨越范围 [-30,29],在 x 轴上跨越范围 [0:1490]。我如何缩放/平移每个轴上的刻度以与我的数据点相符?我需要在 y 轴上平移并在 x 轴上缩放。
我使用以下命令gnuplot
:
set datafile separator ","
set view map
set size 0.9,0.9
set palette gray
set xtics 0,20,1500
set ytics -30,5,30
splot "test.dat" matrix with image
答案1
您需要用重新缩放 x 和 y 坐标using
。stats
将为您提供文件中矩阵的大小。
ym=-30
yM=29
xm=0
xM=1490
stats "test.dat" matrix
itox(i)=xm+(xM-xm)*i/STATS_size_x
jtoy(j)=ym+(yM-ym)*j/STATS_size_y
splot "test.dat" matrix using (itox(column(1)):(jtoy(column(2)):3 with image