我想用红色或绿色的点绘制简单的2D点图,其中颜色由第三个字符串列确定。这个没有编译:
plot "data.txt" using 1:2:3 with points lc rgbcolor (stringcolumn(4) eq "B" ? "green" : "red")
抱怨:
stringcolumn() called from invalid context
数据如下所示:
1,2,"A"
2,3,"A"
3,1,"B"
4,2,"A"
怎么做?
答案 0 :(得分:2)
您可以通过为每种颜色指定线型编号,然后将第3列评估为其中一个数字来完成此操作。例如:
set linetype 1 lc 'green'
set linetype 2 lc 'red'
plot "data.txt" using 1:2:(stringcolumn(3) eq "B"?1:2) with points lc variable
请注意,您的数据列必须用空格分隔,而不是用逗号分隔。