停止 gnuplot 插值热图

l.d*_*.d. 3 gnuplot

我试图在 gnuplot 中绘制一些数据作为热图。我的数据是一个包含三列的“.txt”文件。前两列是自变量,第三列是输出。例如,一个简化的例子:

0.00 0.00 11.9
0.00 0.50 0.01
0.50 0.00 4.5
0.50 0.50 20.0

gnuplot> set view map; set dgrid3d; splot "output.txt" using 1:2:3 with pm3d
Run Code Online (Sandbox Code Playgroud)

我希望根据它们的值得到一个带有颜色的 2*2 正方形数组。相反,我认为 gnuplot 已经插入了这些值,因为不管我的初始数据点数量如何,它都会绘制一个 9*9 的带阴影的正方形数组。我怎样才能在没有插值的情况下绘制我拥有的数据? gnuplot 的输出

Vin*_*cco 6

我想你要找的是plot ... with image pixels. 下面的脚本生成一个只有 4 个像素的 png 文件,按其 z 值着色:

#!/bin/bash

echo "0.00 0.00 11.9
0.00 0.50 0.01
0.50 0.00 4.5
0.50 0.50 20.0" > output.txt

gnuplot << GNUPLOT 

set term png
set out  "output.png"

plot "output.txt" using 1:2:3 with image pixels

GNUPLOT

rm output.txt
Run Code Online (Sandbox Code Playgroud)

output.png文件应该按照您期望的方式运行(希望如此)!

在此处输入图片说明

您还可以调整 cbtics 以仅打印第三列上的值。我还建议查看这两个gnuplot手册页:

gnuplot 热图

gnuplot pm3d