没有完全自动化的方法来执行此操作,但您可以使用以下命令定义任意数量的线条样式set style line ...
然后使用它们。在这里,我只是使用一个简单的迭代来定义几种颜色:
do for [i=1:20] {
set style line i linecolor rgb hsv2rgb(0.05*(i-1), 1, 1)
}
set style data histograms
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75
plot for [i=1:20] 'mydata.dat' u 2 ls i t 'ls '.i
数据文件仅包含值
1 0.1
2 0.2
3 0.3
请注意,hsv2rgb
函数从 5.0 开始才被定义。对于早期版本,您可以使用以下用户定义函数来获得相同的功能:
rgb2int(r,g,b) = int(255*r)*2**16 + int(255*g)*2**8 + int(255*b)
hsv2rgb(h,s,v) = (s == 0 ? rgb2int(v,v,v) : (HSV_h = h*6.0, HSV_i = int(floor(HSV_h)), HSV_f = HSV_h - HSV_i, HSV_p = v*(1.0 - s), HSV_q = v*(1.0-s*HSV_f), HSV_t = v*(1.0-s*(1.0-HSV_f)), (HSV_i%6 == 0 ? rgb2int(v,HSV_t,HSV_p) : (HSV_i%6 == 1 ? rgb2int(HSV_q,v,HSV_p) : (HSV_i%6 == 2 ? rgb2int(HSV_p,v,HSV_t) : (HSV_i%6 == 3 ? rgb2int(HSV_p,HSV_q,v) : (HSV_i%6 == 4 ? rgb2int(HSV_t,HSV_p,v) : rgb2int(v,HSV_p,HSV_q))))))))
为了方便起见,您可以将此代码放入配置文件或第三个脚本中hsv2rgb.gp
并将其包含在load 'hsv2rgb.gp'
在使用该功能之前。
4.6.3 的输出是: