如何在 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
我正在将一些脚本从 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