Gnuplot 绘制事件,日期在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

你能为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 (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