我有以下输入数据格式,作为示例:
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
虽然是老问题,不太可能与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