【问题标题】:I need help finding a way to ignore certain values in one of my columns in my gnu file我需要帮助找到一种方法来忽略我的 gnu 文件中的一个列中的某些值
【发布时间】:2023-04-08 07:30:01
【问题描述】:

我正在尝试使用 gnuplot 绘制超过 5000 帧的蛋白质的二级结构。我有 3 列 xyz,我只需要 z 列中的值是数字 0 或 4,因为这些是该图唯一需要的东西。有没有办法可以排除不是 4 或 0 的其他数字 0-8。我附上了文件的屏幕截图和通过 gnuplot 生成的带有所有数据的图形的图片。

enter image description here

enter image description here

【问题讨论】:

  • 请不要发布文字图片。只需发布文本。
  • 对不起,我的错。谢谢

标签: gnuplot


【解决方案1】:

我不知道你想要什么样的情节,但我认为它是基于 x 和 y 值的东西。因此,例如,这将为每行数据绘制 f(x,y) 的任何内容,其中第 1 2 和 3 列包含 x y 和 z。第 0 列是行号,只计算有效行。

   plot 'data' using 0 : (f($1,$2))

现在,如果您想制作相同的绘图,但只使用 z = 0 或 z = 4 的数据线,我们将其修改为

  plot 'data' using ( ($3==0 || $3==4) ? $0 : NaN) : (f($1,$2))

【讨论】:

  • 你好,伊桑。是的,我正在尝试在绘图上绘制 x 和 y 值,但我只想绘制在 z 列中具有“0”或“4”的 x 和 y 值。我有 8 个标记为“0-7”的 cbtics,我只想要与“0”和“4”的 z 值相关的“none”和“alpha”的 cbtics。我尝试了您发送的代码行,第二个版本,我收到一条错误消息,指出“f”是一个未定义的函数。你知道为什么会这样以及我哪里出错了。感谢您的帮助。
  • gnuplot> 使用 ( ($3==0 || $3==4) ? $0 :NaN) 绘制“dssp.gnu” : (f($1,$2)) 未定义函数:f跨度>
  • f(x,y) 是您要绘制的任何函数。您必须自己定义函数,因为我不知道您要绘制什么。
  • 我不确定您是否知道,但有没有办法找到我的功能?因为我要绘制的是蛋白质如何在 5000 帧的范围内展开/折叠,z 列代表蛋白质的不同方面,但我只看“无”和“阿尔法”部分。所以我不确定是否有办法检查我的功能是什么或什么。
  • 我也不确定这是否会改变任何东西,但它是一个带有 pm3d 的 3d 图形
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 1970-01-01
  • 2016-02-10
相关资源
最近更新 更多