这是我的程序。我正在尝试绘制格式对我来说合适的数据。 Gnuplot拒绝绘制数据,称“ y值未定义”。我在做什么错了?
set output "snowData.png"
set title "Data from Weather Station Yard"
set xdata time
set timefmt "%H:%M"
set format x "%H"
set xrange [00:24]
set xtics
set xlabel "Time(hrs)"
set ylabel "Water Content(inches)" tc lt 1
set y2label "Temperature Deg F" tc lt 2
set grid
#set yrange [0:2]
#set y2range [-20:80]
#set autoscale y2
set ytics 1 nomirror tc lt 1
set y2tics 10 nomirror tc lt 2 #MUST set y2tics to view y2label
plot "logSnow.dat" using 1:2 title "Water Content(inches)" with linespoints linetype 1,
\"logSnow.dat" using 1:3 title "Temperature" with linespoints linetype 2
Here is my data:
2019:02:20:10:55 -0.01,70.14,3.90
2019:02:20:11:26 -0.01,70.59,3.90
2019:02:20:11:57 -0.01,70.36,3.90
答案 0 :(得分:1)
两个问题:
您的数据以逗号分隔。所以,你错过了一行
set datafile separator ","
xrange需要一个时间字符串,格式为"%H:%M"
set xrange ["00:00":"24:00"]
与此有关,它应该可以工作。
以下代码给出了下图(gnuplot 5.2.5):
### plotting time data
reset session
$Data <<EOD
2019:02:20:10:55,-0.01,70.14,3.90
2019:02:20:11:26,-0.01,70.59,3.90
2019:02:20:11:57,-0.01,70.36,3.90
EOD
set datafile separator ","
set xdata time
set timefmt "%Y:%m:%d:%H:%M"
set format x "%H"
set xrange ["2019:02:20:00:00":"2019:02:20:24:00"]
plot $Data u 1:2 w lp lt 1 ti "Water Content(inches)" ,\
$Data u 1:3 w lp lt 2 ti "Temperature"
### end of code