Gnuplot 绘制事件,日期在X轴上,时间在Y轴上
你能为X和Y分别设置一种方式吗?我的数据如下所示:Gnuplot 绘制事件,日期在X轴上,时间在Y轴上,gnuplot,Gnuplot,你能为X和Y分别设置一种方式吗?我的数据如下所示: 2019-05-08 00:14:29.000 2019-05-08 00:14:27.000 2019-05-07 22:08:09.000 2019-05-07 22:08:08.000 ## X axis set xdata time set timefmt "%Y-%m-%d" set format x "%m:%d" set xrange ["2019-01-01":"2019-10-30"] set xlabel "Date (m
2019-05-08 00:14:29.000
2019-05-08 00:14:27.000
2019-05-07 22:08:09.000
2019-05-07 22:08:08.000
## X axis
set xdata time
set timefmt "%Y-%m-%d"
set format x "%m:%d"
set xrange ["2019-01-01":"2019-10-30"]
set xlabel "Date (mm:dd)" font "Times, 12"
# Y axis
set ydata time
set timefmt "%H:%M:%S"
set format y "%H:%M"
set yrange ["00:00":"23:59"]
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
plot "file.data" using 1:2 with points
我的代码如下所示:
2019-05-08 00:14:29.000
2019-05-08 00:14:27.000
2019-05-07 22:08:09.000
2019-05-07 22:08:08.000
## X axis
set xdata time
set timefmt "%Y-%m-%d"
set format x "%m:%d"
set xrange ["2019-01-01":"2019-10-30"]
set xlabel "Date (mm:dd)" font "Times, 12"
# Y axis
set ydata time
set timefmt "%H:%M:%S"
set format y "%H:%M"
set yrange ["00:00":"23:59"]
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
plot "file.data" using 1:2 with points
我看到轴看起来不错,但没有数据。如果删除第二个“set timemt”,它会抱怨没有Y数据
我没有看到使用gnuplot的例子。有什么建议吗?我有数百个数据点和50多个数据文件。我也经常对数据/时间格式感到困惑和困惑。我的怀疑是,如果有两个时间轴,则首先指定输入格式
set timemt“%Y-%m-%d”
,然后指定set timemt“%H:%m:%S”
。这并不特别适用于轴。因此,当涉及到绘图时,gnuplot采用当前(后一种)格式,这对于第1列中的日期来说当然是错误的。但这个解释可能是我错了
无论如何,如果您在plot命令中指定格式(timecolumn(1,“%Y-%m-%d”)
应该可以
代码:
### two date/time axes
reset session
$Data <<EOD
2019-01-08 10:14:29.000
2019-05-08 00:14:27.000
2019-05-07 14:08:09.000
2019-05-07 22:08:08.000
2019-10-07 12:08:08.000
EOD
## X axis
set xdata time
set timefmt "%Y-%m-%d"
set format x "%m/%d"
set xrange ["2019-01-01":"2019-10-30"]
set xlabel "Date (mm/dd)" font "Times, 12"
# Y axis
set ydata time
set timefmt "%H:%M:%S"
set format y "%H:%M"
set yrange ["00:00":"23:59"]
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
plot $Data using (timecolumn(1,"%Y-%m-%d")):2 w p pt 7
### end of code
###两个日期/时间轴
重置会话
$Data我也经常对数据/时间格式感到困惑和困惑。我的怀疑是,如果有两个时间轴,则首先指定输入格式set timemt“%Y-%m-%d”
,然后指定set timemt“%H:%m:%S”
。这并不特别适用于轴。因此,当涉及到绘图时,gnuplot采用当前(后一种)格式,这对于第1列中的日期来说当然是错误的。但这个解释可能是我错了
无论如何,如果您在plot命令中指定格式(timecolumn(1,“%Y-%m-%d”)
应该可以
代码:
### two date/time axes
reset session
$Data <<EOD
2019-01-08 10:14:29.000
2019-05-08 00:14:27.000
2019-05-07 14:08:09.000
2019-05-07 22:08:08.000
2019-10-07 12:08:08.000
EOD
## X axis
set xdata time
set timefmt "%Y-%m-%d"
set format x "%m/%d"
set xrange ["2019-01-01":"2019-10-30"]
set xlabel "Date (mm/dd)" font "Times, 12"
# Y axis
set ydata time
set timefmt "%H:%M:%S"
set format y "%H:%M"
set yrange ["00:00":"23:59"]
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
plot $Data using (timecolumn(1,"%Y-%m-%d")):2 w p pt 7
### end of code
###两个日期/时间轴
重置会话
$Data执行此操作时最好不要使用timemt
或set*Data time
,尽管这会使设置和显式xrange更加麻烦
$TIMES << EOT
2019-01-08 00:14:29.000
2019-05-08 03:14:27.000
2019-05-07 22:08:09.000
2019-08-07 22:08:08.000
EOT
set xtics time format "%m/%d"
set ytics time format "%H:%M"
set xlabel "Date (mm/dd)" font "Times, 12"
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
set key tmargin reverse Left
set xrange [strptime("%Y-%m-%d","2019-01-01"):strptime("%Y-%m-%d","2019-10-30")]
plot $TIMES using (timecolumn(1,"%Y-%m-%d")) : (timecolumn(2,"%H:%M:%S")) with points
$TIMES执行此操作时最好不要使用timemt
或set*data time
,尽管这会使设置和显式xrange更加麻烦
$TIMES << EOT
2019-01-08 00:14:29.000
2019-05-08 03:14:27.000
2019-05-07 22:08:09.000
2019-08-07 22:08:08.000
EOT
set xtics time format "%m/%d"
set ytics time format "%H:%M"
set xlabel "Date (mm/dd)" font "Times, 12"
set ylabel "Time Of Day(hh:mm)" font "Times, 12"
set key tmargin reverse Left
set xrange [strptime("%Y-%m-%d","2019-01-01"):strptime("%Y-%m-%d","2019-10-30")]
plot $TIMES using (timecolumn(1,"%Y-%m-%d")) : (timecolumn(2,"%H:%M:%S")) with points
$TIMES