【问题标题】:gnuplot surface plot set cutoff with pm3d使用 pm3d 设置 gnuplot 曲面图的截止值
【发布时间】:2019-04-16 04:33:55
【问题描述】:

我正在使用pm3d parula 调色板获取此图,并且我的 z 范围设置为 [:.4]

如您所见,z=.4 处的切割不是均匀的表面切割,它像尖刺一样。我如何制作这件制服? 还有一个问题,gnuplot 中是否有一个选项可以跳过类似于 python matplotlib 的rstridecstride 的行和列

【问题讨论】:

  • set pm3d noborder; splot FOO with pm3d 应该删除紫色线条(不确定这是否是您所说的“尖刺”)。至于蓝绿色表面,如果后面的尖峰是伪影,我猜它们是由于 y 的边界条件下的值不正确造成的。您是从数据还是从函数绘图?
  • 让我澄清一下,数据有三个全局峰值,在这三个“U”形倾角的中间,你可以看到中间的倾角,但两个侧峰超过了 0.4,并且那里没有突然的峰值。如果我将 z 范围 [:.4] 放入,则不是在 0.4 处进行均匀切割,而是得到一个尖锐的表面切割,这是我不想要的。
  • 那么左右特征应该是截锥吧?我认为这是可能的。请显示您正在使用的实际 splot 命令。可能可以对其进行修改以将 z 值限制为 zmax,而不是依赖于稍后阶段的裁剪来移除一个或多个角超出范围的表面四边形。
  • 是的,那些会是截锥,我只是使用一个简单的sp 'filename' w l 命令,没什么特别的

标签: gnuplot


【解决方案1】:
  set pm3d noborder
  set zrange [*:0.4]
  splot 'filename' using 1:2:( $3<0.4 ? $3 : 0.4 ) with pm3d

这应该会产生截锥。剪裁区域呈现为实心(平面)表面,调色板颜色值为 0.4。
如果您要求截断区域显示为空洞而不是平面,则以下命令序列可能有效。这是一个很少使用的 pm3d 选项,我不确定对数据结构的要求。

set pm3d noborder
set pm3d clip1in
set zrange  [*:0.4]
set cbrange [*:1.0]
splot 'filename' using 1:2:( $3<0.4 ? $3 : 0.41 ) with pm3d

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    相关资源
    最近更新 更多