我正在使用Gnuplot生成直方图,但如果值超过/低于特定值,我需要将其中的一些颜色换成另一种颜色.例如,如果值< 10,颜色特定的直方图绿色.
如果值> 10,值< 20,颜色特定的直方图黄色.如果值> 20,颜色直方图红色.
所以我想图表是这样的:
X . y.颜色
1. 4.绿色
2. 15.黄色
3. 40.红色
值(x和y)来自数据库,所以我无法告诉Gnuplot我想要着色哪些x值,因为值会不时变化.
我能用Gnuplot(和php)完成这个吗?
谢谢!
解决方法:
您可以使用以下gnuplot脚本:
set style fill transparent solid 0.5 noborder
set boxwidth 0.95 relative
set palette model RGB defined (0 "green", 1 "yellow", 2 "red")
plot 'path\to\your\file' using 1:2:($2<=10 ? 0 : $2<=20 ? 1 : 2) with boxes palette
我的测试文件的内容是
1 4
2 15
3 40
我得到的结果是