(我希望你能理解我写的东西,英语不是我的母语。)
我无法使用txt文件创建显示空气湿度的热图。 我的数据如下:
26.02.13 10:30:00 MEZ 31.79688 31.0625 32.875 31.8125 31.46875 30.9375 39.0 36.71875 36.1875
26.02.13 10:45:00 MEZ 31.875 31.10938 32.75 31.8125 31.46875 30.9375 39.0 36.71875 36.1875
26.02.13 11:00:00 MEZ 31.82813 31.15625 32.84375 31.8125 31.48438 30.9375 39.0 36.71875 36.1875
...
它不是一个矩阵,它是:
date1,time1,timezone,value1-room1,value1-room2,value1-room3,...
date2,time2,timezone,value2-room1,value2-room2,value2-room3,...
我在每个96值中插入一个空白行,以便"分开"彼此的日子
到目前为止,这是我的代码看起来像(我遗漏了标签等):
reset
set cbrange [0:100]
set palette defined (0 '#0000BB',0.091 '#0055FF',0.182 '#44BBEE',0.2728 '#DDFFDD',0.273 '#DDFFBB',0.45 '#DDFF44',0.5 '#FFFF00',0.55 '#FFF600',0.61 '#FFEE00',0.66 '#FFDD00',0.727 '#FFBD00',0.7272 '#FFBB00',0.86 '#FA2200',0.92 '#EA0000',1.0 '#880000')
set cblabel "Humidity"
set cbtics 0,20,100
set timefmt '"%d.%m.%y %H:%M:%S"'
set format x '"%d.%m.%y"'
set xrange ['"26.02.13"':'"27.03.13"']
set format y '"%H:%M:%S"'
set xrange ['"00:00:00"':'"23:59:59"']
plot "data.txt" using 1:2:4
我的意图是为房间1创建一个热图。如果可行,我想为其他房间创建热图,但首先要做的事情是:-)
**我无法解决的问题是:
"跳过不可读的文件" data.txt""
和
"无法用空的x范围绘图" **
为什么我的文件不可读?它在ANSI中,空行应该告诉gnuplot从哪里重新开始
为什么x范围是空的?我说错了吗?
所有文件都位于" bin" gnuplot的目录," data.txt"长度约为2000行,我的gnuplot版本是4.6
提前致谢
约翰
答案 0 :(得分:1)
在gnuplot中绘制时间数据很棘手,但有几点需要记住:
set xdata time
告诉gnuplot您正在使用时间。如果您的时间数据跨越多个列,并且您在格式说明符中这样说,那么gnuplot会计算出来。您只需指定时间数据开始的列(在您的情况下为第1列)。
这是一个适合我的脚本:
#!/usr/bin/env gnuplot
reset
set terminal pngcairo enhanced color rounded dashed size 800,500
set output 'test.png'
set cbrange [0:100]
set palette defined (0 '#0000BB',0.091 '#0055FF',0.182 '#44BBEE',0.2728 '#DDFFDD',0.273 '#DDFFBB',0.45 '#DDFF44',0.5 '#FFFF00',0.55 '#FFF600',0.61 '#FFEE00',0.66 '#FFDD00',0.727 '#FFBD00',0.7272 '#FFBB00',0.86 '#FA2200',0.92 '#EA0000',1.0 '#880000')
set cblabel "Humidity"
set cbtics 0,20,100
# need these three lines for time data
set xdata time
set timefmt '%d.%m.%y %H:%M:%S' # no quotes in specifier weil sie sind nicht im file
set format x '%d.%m.%y' # no extra quotes here, otherwise they appear in the output
set xrange ['26.02.13':'27.03.13']
# removed y formatting - not sure what you intended there
plot "data.dat" using 1:4 title 'Room 1'
其中输出如下:
把它变成热图是完全另一个问题..