Dường như với tôi rằng gnuplot xử lý thời gian một cách đáng ngạc nhiên. Tôi giả định dữ liệu của bạn theo định dạng sau (hoặc tương tự):
05/17/12 0.8188064359
05/18/12 0.97297057
05/21/12 0.9012782504
Tôi đã sử dụng số ngẫu nhiên trải rộng trong năm rưỡi để kiểm tra điều này.
Vì vậy, trước hết bạn cần phải nói với gnuplot x phối hợp của bạn là thời gian và những gì đang định dạng nó được viết bằng:
set xdata time
set timefmt "%m/%d/%y"
Từ giờ trở đi, gnuplot được mong đợi tất cả các dãy trong định dạng cụ thể, bao gồm cả xtics
và xrange
lệnh. Ngoại lệ duy nhất là số gia tăng trong số xtics
chỉ mất vài giây.
set xrange ["05/01/12":"08/01/13"]
set xtics "01/01/12",2592000,"08/01/18"
Bây giờ bạn có thể tranh luận rằng số giây trong mỗi tháng khác nhau trong một ngày (thực tế là 2 ngày trong tháng 2). Tuy nhiên, các tác giả gnuplot dường như cũng nghĩ về điều này và họ giải quyết vấn đề theo ý thích của chúng tôi. Nói cách khác, ở trên sẽ đảm bảo tics mỗi 1 của một tháng. Ở đây, tôi chỉ có thể gợi ý để xác định các định dạng in ấn của xtics
set format x "%d %b %Y"
mà sẽ dẫn đến "1 tháng 5 năm 2012", vv Sau này, plot
dữ liệu của bạn. Oh, khi sử dụng thời gian trên trục x, gnuplot đòi hỏi using
trong lệnh plot
, vì vậy ngay cả với một tệp dữ liệu tầm thường như tôi đã có, tôi đã phải sử dụng
plot 'data.txt' using 1:2
tôi đã sử dụng gnuplot phiên bản 4.6 patchlevel 0 và đầu ra để thiết bị đầu cuối postscript. Nếu bạn sẽ có trải nghiệm khác với phiên bản hoặc thiết bị đầu cuối của mình, hãy cho tôi biết trong phần nhận xét.
Tôi rất muốn xem giải pháp cho chính bản thân mình; trong kinh nghiệm của tôi gnuplot là khá yếu ở định dạng x dữ liệu khi dữ liệu là thời gian. – andyras