2013-08-08 41 views
7

Tôi đã xem qua các câu hỏi nhưng vẫn không thể làm việc này.gnuplot nhiều dòng với Thời gian trên trục X

bộ dữ liệu của tôi là như thế này:

báo cáo
[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 

My Gnuplot (chỉ mới bắt đầu sử dụng cho dữ liệu này) là:

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 

tôi nhận được lỗi sau:

Need full using spec for x time data 

Tôi đã thử autoscale x, nhưng tôi là một chút bị mất, bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

2

lệnh cốt truyện của bạn trông giống như thay vì điều này:

plot '/tmp/info' using 1:2 title 'cpu' with lines, '/tmp/info' using 1:3 title 'memory%' with lines 
5

Time dữ liệu đòi hỏi bạn phải luôn xác định tất cả các cột được sử dụng. (Lưu ý cũng là điều chỉnh 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%' 

Lý do cho điều này là, rằng timefmt cũng có thể chứa khoảng trắng, do đó dữ liệu sử dụng cho trục thời gian có thể đến từ hai cột. Hãy xem xét các tập tin dữ liệu sửa đổi như sau:

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 

Các lệnh âm mưu cho định dạng này là:

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%' 

Để tránh nhầm lẫn, nó luôn luôn đòi hỏi cho dữ liệu thời gian tất cả các cột được sử dụng bởi các phong cách âm mưu (ở đây with lines) được đưa ra một cách rõ ràng với tuyên bố using.

Các vấn đề liên quan