Gnuplot中某些特定值的不同颜色的颜色条

Kev*_*vin 2 php graph gnuplot

我正在使用Gnuplot生成直方图,但如果值超过/低于特定值,我需要将其中的一些颜色换成另一种颜色.例如,如果值<10,则将特定直方图着色为绿色.如果值> 10,值<20,则将特定直方图着色为黄色.如果值> 20,则颜色直方图为红色.

所以我想图表是这样的:

x. y . 颜色

1.4.绿色

2.15.黄色

3.40.红色

值(x和y)来自数据库,所以我无法告诉Gnuplot我想要着色哪些x值,因为值会不时变化.

我能用Gnuplot(和php)完成这个吗?

谢谢!

hal*_*lex 5

您可以使用以下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
Run Code Online (Sandbox Code Playgroud)

我的测试文件的内容是

1 4
2 15
3 40
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

在此输入图像描述