我有以下数据文件: 第1列是图层编号。 第二列是X轴。 第3列是Y轴。
1 1999-01-19 21 0 1
1 2009-07-01 0 1 1
1 2008-08-20 2 1 1
1 2008-12-18 1 1 1
2 2004-05-12 4 1 1
2 2009-07-29 2 1 1
3 2008-08-07 0 1 1
4 2006-03-08 1 1 1
4 2004-08-31 9 1 1
4 2001-03-27 12 1 1
我的问题: 1.如何知道每层必须具有不同的Z偏移和不同的颜色,我如何在3D中绘制上述数据文件? 以下必须用Z = 1
绘制1 1999-01-19 21 0 1
1 2009-07-01 0 1 1
1 2008-08-20 2 1 1
1 2008-12-18 1 1 1
和以下,Z = 2
2 2004-05-12 4 1 1
2 2009-07-29 2 1 1
等等。
2.如果我想选择第2层,其他图层必须用灰色阴影,此图层必须用红色着色,例如,这可能吗?所以就像突出显示所选图层一样。
THX。
答案 0 :(得分:1)
要绘制点,只需使用
set xdata time
set timefmt '%Y-%m-%d'
set format x '%Y'
splot 'data.dat' using 2:3:1
使用图层编号作为z值。要获得其他内容,只需根据图层编号指定z值的函数:
zpos(z) = 1 + 0.5*z
splot 'data.dat' using 2:3:(zpos($1))
使用着色linecolor rgb variable
。这允许您指定最后一列中的颜色。此颜色必须是rgb-tuple的整数表示形式,65536*red + 256*green + blue
,red
,green
和blue
在[0:255]范围内。
以下脚本以深红色绘制第2层中的点:
set xdata time
set timefmt '%Y-%m-%d'
set format x '%Y'
rgb(r,g,b) = 65536*r + 256*g + b
gray = rgb(200,200,200)
red = rgb(200,0,0)
layer = 2
set view 66,20
splot 'data.dat' using 2:3:1:($1 == layer ? red : gray) with points pt 7 linecolor rgb variable notitle
4.6.4的结果是: