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