我正在尝试在 Gnuplot 中创建平行轴图,但我不知道如何为图中的线条着色。
网上有几个教程,但从 Gnuplot 5.4 开始,parallelaxes 命令的语法已更改,现在这些教程已过时。我的脚本的最后一行目前看起来像这样:
plot for [col=1:5] "data.dat" using col with parallelaxes
并生成下面的图。我想做的是根据每条线是否穿过第二个轴上的衬衫或牛仔裤刻度来为每条线着色。
使用旧语法,上述行看起来类似于
ṕlot "data.dat" using 1:2:3:4:2 linecolour variable
。最后的 :2
指定应使用哪一列来定义每行的颜色。如您所见,语法已更改。我会使用旧版本,但这些似乎仅限于 4 个轴,这对于我的情况来说是不够的。
如果没有数据文件进行测试,但假设衬衫/牛仔裤条目是数值,则很难自信地回答,例如3 件衬衫,14 件牛仔裤,我想答案是这样的
set style data parallelaxes
plot for [col=1:5] "data.dat" using col:2 lc variable
仅使用与第一个绘图子句(平行轴 1)相关的颜色,因此这样写可能会更清晰
plot "data.dat" using 1:2 lc variable, for [col=2:5] "" using col
假设您可以接受第 2 列中的数值代表的任何线条颜色。 如果您想定义自己的颜色类别,类似这样的操作会将 linecolor 1 分配给“衬衫”值,将 linecolor 2 分配给“牛仔裤”值,将 linecolor 0 分配给该列中找到的任何其他值。
shirt = 3
jeans = 14
color(item) = (item == shirt) ? 1 : (item == jeans) ? 2 : 0
set style data parallelaxes
plot "data.dat" using 1:(color($2)) lc variable, for [col=2:5] "" using col