gpt4 book ai didi

gnuplot - 使用 gnuplot 在同一张图上绘制两个数据集。一个有 dgrid3d,另一个没有

转载 作者:行者123 更新时间:2023-12-04 07:42:09 25 4
gpt4 key购买 nike

我正在尝试使用 gnuplot 绘制两个数据集。它们都是 (x, y, z) 三元组。它们没有排列在网格上。我想使用 dgrid3d 绘制其中之一和 pm3d .最重要的是,我想覆盖其他数据集,但只是散点。

举一个更具体的例子:我试图绘制圆柱体接近表面的效果。我想绘制表面的响应,这就是 dgrid3d派上用场了。最重要的是,我想绘制圆柱体的位置,并将其圆周作为点。

我用了:

set dgrid3d 100,100,4
set pm3d
splot "dataset1" with pm3d, "dataset2" with dots

数据集大约有 100x100 个点,排列在一个近似正方形上,所以 100,100 在这里效果最好。无论我如何绘制第二个数据集,它最终始终是一个与圆柱体尺寸相同的正方形,而不是一个漂亮的圆。当我转身 dgrid3d关闭,我可以自己绘制第二个数据集,结果是圆柱体的周长很好。

所以我的问题是:是否可以使用两个数据集绘制 3D 图,一个使用 dgrid3d而另一个不使用它?

最佳答案

是的,这是可能的,但它比您想象的要棘手一些。关键是用set table
对于您的示例:

set dgrid3d 100,100,4
set pm3d explicit
set table "interpolated_data.dat"
splot "dataset1" with pm3d #writes the interpolated data to "interpolated_data.dat"
unset table
unset dgrid3d
splot "interpolated_data.dat" with pm3d, "dataset2" with dots

您的尝试无效的原因是因为当 dgrid3d 生效时,所有读入的数据都被插入到网格中,然后使用您指定的任何样式进行绘制。

来自 gnuplot 的 help dgrid3d 启用后,从文件中读取 3D 数据
始终被视为分散的数据集。

作为旁注,此方法也可用于在 pm3d 顶部绘制轮廓。

关于gnuplot - 使用 gnuplot 在同一张图上绘制两个数据集。一个有 dgrid3d,另一个没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com