3

我有一个包含两列时间和值的数据系列,以及一个带有整数的附加列,表示数据是如何获得的。例如

0 15.1 0
1 20.2 0
2 34.3 1
3 41.5 2
4 61.7 1
5 79.6 0
6 48.2 0
7 92.1 1

现在,我通常用

plot "data" u 1:2 w l

但我现在希望使用第三列用垂直线“划分”图形,以便第三列上具有相同值的两个连续记录获得相同的背景。对于第三列中的每个值,都关联一个背景颜色。

在上述数据的情况下,该图将具有,例如,从时间 0 到时间 2(不包括)的蓝色背景列,从 2 到 3 的绿色背景列,从 3 到 4 的红色,再次绿色从 4 到 5,以此类推。

另一种解决方案(我实际上可能更喜欢)是在第三列的值切换其值的位置有一条垂直线,并且图形的每个区域都有一个标签(例如在顶部轴上)对应于第三列的值柱子。

任何想法?谢谢!

编辑:遵循我想要获得的示例。第三列的值位于顶部。

带垂直线的分区图

4

1 回答 1

2
top=100
set yrange [:top]

unset colorbox
set style fill solid 1.0
set palette defined (0 "blue",1 "green", 2 "red")

plot "data.dat" u ($1+.5):(top):3 w boxes lt palette,"" u 1:2 w l lc -1 lw 2

set palette定义对应于第三列的颜色。.5是移位,因为直方图以它的中心值为中心。

于 2014-07-06T00:47:10.770 回答