gnuplot - gnuplot 中的点和空点

标签 gnuplot

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

有什么办法可以绘制类似的东西吗? 谢谢

Dots
(来源:emathematics.net)

最佳答案

如果您希望使用内置点类型,通常有(取决于终端)一个实心圆和一个空圆。发出test命令将显示可用的内容。例如,使用 wxt 终端,我看到

enter image description here

这表明我可以获得一个点类型为 7 的实心圆和一个点类型为 6 的空圆(我们不用担心不同的颜色,因为这些颜色是从线类型继承的)。

现在,获得我们想要的图的简单方法就是发出 plot datafile with points pt 6或点类型 7。如果您需要它依赖于您的数据,那就更棘手了。

假设我的数据如下所示:

1 3 0
5 8 1
2 6 0
3 2 1

前两列是 x 和 y 坐标,第三列告诉我是否应该使用空点 (0) 还是实心点 (1)。不幸的是,gnuplot 不支持变量点类型命令(类似 plot datafile u 1:2:($3+6) with linespoints pt var ),而这正是我们需要的。

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

plot datafile u 1:2 with linespoints pt 6, \
     datafile u 1:($3==1?$2:1/0) with points pt 7 lt 1

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

enter image description here

注意:我已提交 pointtype variable 的功能请求选项,看起来它可能会在未来的版本中发挥作用。可以在 feature request 437 下实现此功能的初步补丁。 .

更新说明: pointtype variable该选项目前在 gnuplot 的开发版本中可用。

关于gnuplot - gnuplot 中的点和空点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35476250/

相关文章:

gnuplot - 如何使用 Gnuplot 4.6 在我的图表中追踪趋势线?

time - 更改小时格式 gnuplot (减去 12 小时)

gnuplot - 使用不同的列/线宽度绘制热图

colors - gnuplot:如何创建彩色网格区域,而不仅仅是彩色网格线?

bash - 如何使用 system() 从 Perl 调用 gnuplot one-liner?

linux - 如何用 linux 绘制图形?

variables - gnuplot 将数据文件中的一个数字存储到变量中

Gnuplot - 如何获得没有意义的图形? (我只想有轴、标题以及 x 和 y 标签)

windows - 在 Windows 操作系统上编写 Gnuplot 脚本

statistics - 如何隐藏 gnuplot 中 stats 命令的输出