在 Gnuplot 中平移/缩放矩阵的 splot(热图)上的轴

在 Gnuplot 中平移/缩放矩阵的 splot(热图)上的轴

我正在尝试从数据文件中加载一个 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

我得到以下输出: 我的 Gnuplot 输出

答案1

您需要用重新缩放 x 和 y 坐标usingstats将为您提供文件中矩阵的大小。

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

相关内容