如何在 gnuplot 中绘制二维图,从 MATLAB 移动

How to contour 2d plot in gnuplot, move from MATLAB

我正在将一些脚本从 MATLAB 移植到 C 并使用 GNUPLOT 进行绘图,在 MATLAB 中我使用以下命令进行绘图:

contourf(nU, 200,'linecolor','non');

nU 包含要绘制的矩阵,我已经有了获取数据并将它们放入相同矩阵格式的 C 代码,来自 GNUPLOT 文档,splot 使用以下格式,所以我也有代码来传递数据到文件'data.txt',格式如下:

# x, y, z

0.000000 0.000000 0.000000 
0.094248 0.000000 0.000000 
0.188496 0.000000 0.000000 
0.282743 0.000000 0.000000 

我试过了

splot 'data.txt'

它似乎正确地绘制了数据,但实际上是这样绘制的:

但是我需要一个二维填充等高线图,这是 MATLAB 的输出:

绘图后,我可以使用哪些命令修改 GNUPLOT 输出?

您显示的图是我所说的热图而不是等高线图。 Gnuplot 两者都可以。

要获取热图,如下所示:

set view map                 # 2D projection of 3D surface
splot 'data.txt' with pm3d   #

创建等高线图时需要做出选择。有多少轮廓?全部都一样?颜色?如果你走到这一步并需要更多帮助,请再次询问。现在我展示了一个使用所有默认值的最小命令:

set view map
set contour
splot 'data.txt' with lines nosurface