您应该能够使用关键字variable
来执行以下操作:
plot 'datafile' using 1:2:3:4 w points ps variable lc variable
或者可能将值映射到调色板:
plot 'datafile' using 1:2:3:4 w points ps variable lc palette
关键字变量和/或调色板导致 gnuplot 从文件中读取属性,并且它们都需要通过using
. 当然,所有使用 using 的常用内容都适用——您可以将转换应用于数据等:
plot 'datafile' using 1:2:3:($4+32.) w points ps variable lc palette
我不记得第三列是这里的点大小还是颜色,我现在没有时间玩弄它来弄清楚。您可以进行实验并发表评论,或者我会在有时间时再回来添加更新。
其他一些属性(例如pointtype
)不能很容易地更改为使用variable
. 最简单的方法是使用带有 gnuplot 三元运算符的过滤器。
首先,编写一个函数,该函数根据数据文件的 1 列中的数据返回一个点类型:
my_point_type(x) = x
这里我使用了一个简单的标识函数,但它可以是任何东西。现在,您可以遍历您想要的点类型(此处为 1-10),为每个点类型绘制一个图:
plot [for PT=1:10] 'datafile' u 1:((my_point_type($3) == PT) ? $2:NaN) with points pt PT
这假设具有点类型信息的列是第 3 列,而第 2 列包含位置信息。这也可以与我上面演示的内容结合使用。