gnuplot中的点和空点

gnuplot中的点和空点,gnuplot,Gnuplot,我需要在绘图中画点和空点来显示固定点。它们应该如下图所示:一个空点(一个圆)和一个厚点 有没有办法策划这样的事情? 谢谢 (来源:)如果要使用内置点类型,通常(取决于终端)有一个填充圆和一个空圆。发出test命令将显示可用的内容。例如,对于wxt终端,我明白了 这表明我可以得到点类型为7的填充圆和点类型为6的空圆(我们不担心不同的颜色,因为这些颜色是从线型继承的) 现在,获取所需绘图的简单方法是只发布带有点pt 6或点类型7的绘图数据文件。如果你需要它来依赖你的数据,那就更麻烦了 假设我的数

我需要在绘图中画点和空点来显示固定点。它们应该如下图所示:一个空点(一个圆)和一个厚点

有没有办法策划这样的事情? 谢谢



(来源:)

如果要使用内置点类型,通常(取决于终端)有一个填充圆和一个空圆。发出
test
命令将显示可用的内容。例如,对于wxt终端,我明白了

这表明我可以得到点类型为7的填充圆和点类型为6的空圆(我们不担心不同的颜色,因为这些颜色是从线型继承的)

现在,获取所需绘图的简单方法是只发布带有点pt 6或点类型7的
绘图数据文件。如果你需要它来依赖你的数据,那就更麻烦了

假设我的数据如下所示:

1 3 0
5 8 1
2 6 0
3 2 1
前两列是x和y坐标,第三列告诉我应该使用空点(0)还是填充点(1)。不幸的是,gnuplot不支持变量点类型命令(类似于带有linespoints pt var的
绘图数据文件u1:2:($3+6)),这正是我们在这里需要的

为了绘制数据,我们将进行两次传递。第一个将绘制直线和空圆(用于所有点),第二个将绘制填充圆(仅用于应填充的点-覆盖空圆)

此命令将首先绘制直线和空圆。接下来,它仅在需要时绘制填充圆。为此,它计算条件y坐标。如果第三列为1,则使用第二列作为y坐标。如果不是,则使用无效值
1/0
,这会导致gnuplot跳过该点。为了保持颜色和其他一切相同,我们使用了lt 1(默认情况下在第一个plot命令段中使用)

注意:我已经为
点类型变量
选项输入了一个功能请求,看起来它可能会在未来的版本中使用。在下面提供了实现此功能的初步修补程序


更新说明:gnuplot的开发版本中当前提供了
pointtype变量
选项。

是的,您可以绘制圆或预定义的空点等。最有效的方法还取决于数据的结构。你能举例说明你的数据是如何构造的,你的固定点是如何定义的吗?
plot datafile u 1:2 with linespoints pt 6, \
     datafile u 1:($3==1?$2:1/0) with points pt 7 lt 1