Gnuplot 点颜色取决于字符串列值
我想用红色或绿色的点绘制简单的2D点图,其中颜色由第三个字符串列决定。这一个不编译:Gnuplot 点颜色取决于字符串列值,gnuplot,Gnuplot,我想用红色或绿色的点绘制简单的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" 如何执行此操作?您可以通过为每种颜色指定一个
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"
如何执行此操作?您可以通过为每种颜色指定一个线型编号,然后将第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
注意,数据列必须用空格而不是逗号分隔