我已经看过问题,但仍然无法实现这一点。
我的数据集是这样的:
[date] , [%cpu] , [mem]
23:00:39 , 21.9 , 2.1
23:00:44 , 21.8 , 2.1
23:00:49 , 21.8 , 2.1
23:00:54 , 21.8 , 2.1
23:00:59 , 21.7 , 2.1
我的Gnuplot语句(刚开始使用此数据)是:
set timefmt "%H:%m:%s"
set xdata time
set datafile sep ','
plot '/tmp/info' using 2 title 'cpu' with lines, '/tmp/info' using 3 title 'memory%' with lines
我收到以下错误:
Need full using spec for x time data
我尝试过自动缩放x,但我有点迷失了,任何帮助都会受到赞赏。
答案 0 :(得分:5)
时间数据要求您始终指定要使用的所有列。 (另请注意更正的timefmt
):
set timefmt "%H:%M:%S"
set xdata time
set datafile sep ','
set style data lines
plot '/tmp/info' using 1:2 title 'cpu', '' using 1:3 title 'memory%'
原因是timefmt
也可能包含空格,因此用于时间轴的数据可能来自两列。请考虑以下修改后的数据文件:
23:00:39 06/08/13 21.9 2.1
23:00:44 06/08/13 21.8 2.1
23:00:49 06/08/13 21.8 2.1
23:00:54 06/08/13 21.8 2.1
23:00:59 06/08/13 21.7 2.1
此格式的绘图命令为:
set timefmt "%H:%M:%S %d/%m/%Y"
set xdata time
set format x "%H:%M:%S"
set style data lines
plot 'mydata.dat' using 1:3 t 'cpu', '' using 1:4 t 'memory%'
为避免混淆,始终要求对于时间数据,绘图样式(此处为with lines
)使用的所有列都使用using
语句明确给出。
答案 1 :(得分:2)
你的情节命令看起来像这样:
plot '/tmp/info' using 1:2 title 'cpu' with lines, '/tmp/info' using 1:3 title 'memory%' with lines
答案 2 :(得分:1)
我在gnuplot上遇到了类似的问题,其中有一个数据文件,例如:
05:07:00 0.0769 0.0769 0.0000 0.0000 0.0000 0.0000 0.0000
05:08:00 0.2308 0.2308 0.0000 0.0000 0.0000 0.0000 0.0000
我正在尝试使用,但是却无法正常工作
set xdata time
set timefmt "HH:MM:SS";
plot "wed" using 0:2 t 'wtf" w lines
此修复程序有两件事,主要是在timefmt字符串中使用%,而仅使用一个字母。还将输出的设置格式x用作键(并将第一列用作1-尽管我之前也尝试过使用该键)。
这是最适合我的最小输出脚本:
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M"
plot "wed" using 1:2 t 'my title' w lines