Gnuplot:如何为每隔第5条曲线指定红色(其余为黑色)?
解决Gnuplot多曲线按间隔设置红色/黑色的问题
嘿,我来帮你搞定这个颜色设置的问题!你之前的思路完全没问题,只是卡在了RGB颜色的数值格式上——Gnuplot的rgbcolor variable要求的是0xRRGGBB格式的十六进制值对应的十进制整数,你用的255000000并不是红色的正确数值。
正确的颜色值说明
红色的标准十六进制RGB值是0xFF0000,转换成十进制就是16711680;黑色的十六进制是0x000000,对应十进制0。
你可以选择用十进制数值直接写,或者用更直观的十六进制写法(Gnuplot支持直接解析带0x前缀的十六进制数值)。
修改后的代码
写法一:使用十进制数值
plot for [i=2:max_col] 'data_file.txt' u 1:i:((i-1)%5==0 ? 16711680 : 0) w l lc rgbcolor variable lw 2.8
写法二:使用十六进制数值(更易读,无需换算)
plot for [i=2:max_col] 'data_file.txt' u 1:i:((i-1)%5==0 ? 0xFF0000 : 0x000000) w l lc rgbcolor variable lw 2.8
小验证技巧
如果不确定颜色对应的数值,可以在Gnuplot命令行里直接验证:
- 查看红色的十进制值:
print 0xFF0000,输出结果就是16711680 - 把十进制转回十六进制:
print sprintf("%x", 16711680),输出结果就是ff0000
这样修改后,每隔第5条曲线就会显示红色,其余曲线保持黑色啦!
内容的提问来源于stack exchange,提问作者ponsly
相关产品推荐
相关产品推荐

