3D 图,日期和时间在差异轴(x 和 y)上,因变量在 Z 轴上

问题描述 投票:0回答:1

我有以下输入数据格式,作为示例:

9/18/2015,08.00.00,101
9/18/2015,08.15.00,203
9/18/2015,08.30.00,429
. . .
9/19/2015,08.00.00,50
9/19/2015,08.15.11,77
9/19/2015,08.30.05,200
. . . 
9/20/2015,08.00.50,446
9/20/2015,08.15.00,431
9/20/2015,08.30.00,580
. . . 

我想使用 gnuplot 5.0 生成 3D 绘图(例如墙图),其中 X 轴代表给定日期的“%H.%M”,Y 轴代表唯一日期 (%m/%d ) 对于当天的所有 %H:%M,Z 轴表示整数值(因变量)。

以下代码对我不起作用,因为我在 Y 轴上得到了重复的日期(例如 09/18),并且 Z 轴值似乎是在 X-Y 轴上对角绘制的。任何指导将不胜感激。

代码示例:

reset
set terminal wxt enhanced
set datafile separator ","

set xlabel "Hour"
set ylabel "Date"
set zlabel "Int"
set timefmt '%m/%d/%Y,%H.%M.%S'
set xdata time
set ydata time
set format x '%H.%M'
set format y '%m/%d'
splot 'inputfile.csv' u 3:3:11

3D 绘图日期时间 2 轴: enter image description here

datetime gnuplot
1个回答
0
投票

虽然是老问题,不太可能与OP相关,但其他人仍然可能感兴趣。您的情况的问题是,虽然您可以

set xdata time
set ydata time
,但您只能设置 one
set timefmt
。您必须找到一种方法将此格式分为不同轴的天和小时,也许有某种方法。 但是,由于您使用的是 gnuplot 5.0,您可以使用
timecolumn(col,fmt)
并为不同的轴设置独立的格式(检查
help timecolumn
help format
)。

下面的示例脚本会动态生成一些测试数据,并通过将线条颜色设置为完全透明,在绘制时使用“技巧”来“中断”数据。或者,您可以在每天之后在数据中添加一个空行来分隔日期。

脚本:

(适用于 gnuplot>=5.0.0,2015 年 1 月) with linespoints

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.