Gnuplot 忽略y=0的点

Gnuplot 忽略y=0的点,gnuplot,Gnuplot,我正在绘制一个图表,我想省略所有y=0的点。我不知道这些结果出现在哪一行,所以我不能告诉gnuplot只使用一些行 这是可能的,还是我必须编辑我的数据集(并将y=0替换为我范围之外的某个位置)?您可以很容易地做到这一点: plot "mydataset.dat" u 1:($2 == 0 ? NaN : $2) 这里我们使用gnuplot三元运算符将0的值替换为NaN。Gnuplot会默默地忽略NaN,因此应该可以正常工作。实现这一点的优雅方法是使用: 设置数据文件丢失 例如,您可以执行以下操

我正在绘制一个图表,我想省略所有y=0的点。我不知道这些结果出现在哪一行,所以我不能告诉gnuplot只使用一些行


这是可能的,还是我必须编辑我的数据集(并将y=0替换为我范围之外的某个位置)?

您可以很容易地做到这一点:

plot "mydataset.dat" u 1:($2 == 0 ? NaN : $2)

这里我们使用gnuplot三元运算符将
0
的值替换为
NaN
。Gnuplot会默默地忽略NaN,因此应该可以正常工作。

实现这一点的优雅方法是使用:

设置数据文件丢失

例如,您可以执行以下操作:

设置数据文件缺少“0”


gnuplot将跳过带有0符号的条目。您可以使用字符串以及NaN或0.000。

首先您说“忽略所有点”,然后您说“仅使用一些线”。你是说你想在你的数据集范围内省去横穿y轴的线吗?@JAB第一个想法(如果我有一个小数据集)是手动告诉gnuplot使用哪条线,但这在我的情况下是不可行的。是的,我想要的是省去横穿y轴的线完美,这正是我想要的!如果有一个x=0的点呢?这不会也跳过它吗?是的,这是一个您希望跳过0的条目的示例。这是一个自定义值,告诉gnuplot跳过哪个值。谢谢!在我的例子中,DHT-22导线松动,所以set数据文件缺少“0.00”允许它跳过错误的读数。两个答案都投了赞成票。您的解决方案是全局的(这就是问题所在),但三元运算符解决方案非常好,因为它提供了粒度,如果我们有多个数据绘制在Y上。