的问题是定义的xrange,它需要是相同的格式timefmt的(见?time_axis)
我下面的作品
set datafile separator ","
set xdata time
set timefmt "%d/%m/%Y %H:%M:%S"
set format x "%H:%M"
set autoscale y
set xrange["26/10/2010 13:00:00":"26/10/2010 14:00:00"]
plot './data.csv' using 1:2 with lines
哦,我摆脱了每行数据之间的空白行。
如果你不想编辑文件摆脱空白数据,那么您可以在gnuplot的为最后的命令用awk像这样,
plot "<awk '$0!~/^$/ {print $0}' ./data.csv" using 1:2 with lines
。
编辑:进一步信息的情况下,仍然有一个问题(见注释)
我需要使用awk命令的数据得到的情节。这是为了删除数据中的空白行。以这种方式组合awk和gnuplot可以在linux系统上工作,我不确定在Windows上使用gnuplot。这可能是某些管道没有发生,在这种情况下,您必须在使用gnuplot之前删除空行。如果你正在使用Linux和上面的不工作,然后还有其他事情是问题(你仍然可以用awk这一点,但也许不是在绘图命令?)
。也许在gnuplot会话中存储了旧命令?为了确保我们做的是完全一样的东西,我给了我使用的shell脚本(我改变了xrange以更好地适应数据,并制作出更好的情节,并且重写\ $而不是$,否则shell会误解$标志)。
好:我做了文件data.csv.sh在新的文件夹(如果你已经data.csv或data.csv.png文件),:
#!/bin/bash
echo "26/10/2010 13:30:01,1
26/10/2010 13:30:12,2
26/10/2010 13:30:23,3
26/10/2010 13:30:34,4" > "data.csv"
gnuplot<<EOF
set term png small
set output "data.csv.png"
set datafile separator ","
set xdata time
set timefmt "%d/%m/%Y %H:%M:%S"
set format x "%H:%M"
set autoscale y
set xrange["26/10/2010 13:30:00":"26/10/2010 13:31:00"]
plot "<awk '\$0!~/^\$/ {print \$0}' ./data.csv" using 1:2 with lines
set output
set term pop
EOF
然后在terminal I输入:
chmod +wrx data.csv.sh && ./data.csv.sh
使shell脚本可执行,然后运行它。
文件data.csv.png如下所示
所有最优秀的
汤姆
来源
2010-11-12 12:37:33
Tom
非常感谢您的帮助汤姆。现在我得到一个具有良好x和y轴的图表,但没有绘制任何数据点。我玩过数据和“使用”条款无效! – Tony 2010-11-12 17:07:10
@Tony这很奇怪,你使用了“
Tom
2010-11-12 18:33:46