【问题标题】:how to use `dgrid3d` in `gnuplot` correctly?如何在`gnuplot`中正确使用`dgrid3d`?
【发布时间】:2011-08-07 09:57:15
【问题描述】:

我有一个数据文件,其中包含一堆xyz 积分。我想用gnuplot 来绘制这些点with pm3d但这需要我打开set dgrid 10,10,1(数字应该不同)。问题是我的数据被扭曲了(当我将它们绘制在一起时,这些点不在pm3dsurface 上)。

我应该如何使用dgrid3d?这些点是从c++ 程序生成的,所以我可以自己选择 x 和 y 间距。

我的数据如下所示:

# X    Y    Z
  1    2    3
  2    2    4
  ...

我希望它是一个在 3D 空间中贯穿这些点的彩色表面。 xy 数据间隔均匀,而 z 数据是 xy 点的函数。

【问题讨论】:

  • 1.您能否发布一小部分数据文件 2. 您的最终绘图实际上应该是什么样子? 3D 空间中的点、等高线图、连接点……
  • 哇。这个问题有“热门问题”徽章(1k 次观看),没有一个赞成票。

标签: 3d gnuplot


【解决方案1】:

如果您的数据在文件 Data.dat 中可用,那么试试这个:

set dgrid3d 10,10
set style data lines
set pm3d 
splot "Data.dat" pal
  • dgrid3d 告诉 gnuplot 在 x 和 y 方向上有多少条目(这是两个逗号分隔的参数)
  • style data lines 让 gnuplot 用线而不是点来绘制结果
  • pm3d 用颜色填充表面(如果不使用它,您只会看到线条)
  • pal 使线条以指定值的颜色出现

您可以设置更多选项,但我发现这些选项最相关。

【讨论】:

  • 好吧,我的问题实际上是针对如何使用dgrid3d?数字应该是多少?
  • 数字指定在 x 和 y 方向上有多少元素。因此,如果您有 20 个 x 值和 10 个 y 值,则将 dgrid 中的参数指定为 20, 10
  • 我有 100x100 的数据,但是当我使用 dgrid3d 100,100,1 时,这提供了一个扭曲的图(图在某些点被平均化了)。使用dgrid3d 100,100,3 给出了一个通过点的表面,但表面在不应该出现的地方是参差不齐的。
  • AFAIK dgrid3d 如果要指定行数和列数,只需要两个参数...
  • dgrid3d 中的第三个参数是用于计算距离的范数。如果要最小化欧几里得距离,请使用“2”,它对应于 L2 范数。这符合我们两点之间直线距离的直观概念。
猜你喜欢
  • 2018-10-22
  • 2019-04-10
  • 2016-09-13
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多