基于此https://stackoverflow.com/a/63699595/1140754我定义了一个辅助
myLinecolor(i) = word(LINECOLORS,i)
来为每个条形使用不同的颜色,它对应于输入数据文件中一行的值。
然而,关于正在绘制的条形索引(即数据文件中的行),我应该将哪个参数传递给
myLinecolor()
?
LINECOLORS = 'red green blue yellow brown gray turquoise'
myLinecolor(i) = word(LINECOLORS,i)
set output 'results.svg'
plot 'results.csv' every ::1 using 0:5:xticlabels(stringcolumn(1)) with boxes lc rgb myLinecolor(?????)
例如我想要column1=红色,column2=绿色,...,column7=青绿色
您还可以通过
linestyle
或 linetype
和索引定义线条颜色,请检查 help linestyle
和 help linetype
。这里是通过lc rgb
完成的,检查help linecolor
。
脚本:
### define line color from a string of colornames
reset session
$Data <<EOD
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8
EOD
LINECOLORS = 'red green blue yellow brown gray turquoise'
myLinecolor(i) = word(LINECOLORS,i)
set key top left
plot for [col=2:8] $Data u 1:col w lp pt 7 lc rgb myLinecolor(col-1) ti sprintf("Column %d",col)
### end of script
结果: