Làm thế nào để trực quan hóa dữ liệu chuỗi thời gian?


8

Tôi có một số dữ liệu chuỗi thời gian tôi muốn hình dung như cốt truyện 2d.

Đầu vào là định dạng ngày ISO và giá trị được phân tách bằng dấu cách, một bản ghi trên mỗi dòng:

2010-10-21 23
2010-10-22 32
etc.

Đầu ra phải là một cốt truyện 2d đẹp mắt. Những yêu cầu cơ bản:

  • xuất ra cửa sổ X11 (dưới dạng xem trước) và tệp png
  • Trục x phải hiểu ngày và chia tỷ lệ dữ liệu một cách tự nhiên, ví dụ: khoảng cách giữa 3 ngày phải dài gấp ba lần khoảng cách giữa 1 ngày
  • nên được gọi từ một kịch bản
  • đầu ra đẹp và thuận tiện để sử dụng

Tặng kem:

  • đầu ra svg

Tôi đã thử gnuplotvà nó hoạt động - nó có một số hỗ trợ ngày:

gnuplot> set xdata time
gnuplot> set timefmt "%Y-%m-%d"
gnuplot> plot "test.dat" using 1:2

Nhưng tôi có một số vấn đề với gnuplot:

  • với các thiết lập mặc định lô trông rất xấu xí
  • thật khó để tìm thấy nội dung trong hướng dẫn - ví dụ: khi vẽ các điểm, làm cách nào để sử dụng các vòng tròn đầy nhỏ thay vì dấu '+' mặc định?
  • Vỏ gnuplot là một nỗi đau ở cổ - nó không sử dụng đường đọc, nó bị hỏng, hoàn thành lệnh là một trò đùa, tôi không biết làm thế nào để bật các phím tắt vi - hoặc nếu chúng được hỗ trợ, về tìm kiếm ngược, v.v.

Vì vậy, câu hỏi của tôi: các lựa chọn thay thế để hiển thị dữ liệu chuỗi thời gian là gì?

Hay tôi đang phóng đại các vấn đề gnuplot?

Câu trả lời:


5

Toàn bộ mục đích tồn tại của RRDTool là vẽ dữ liệu chuỗi thời gian, nhưng chủ yếu là để vẽ đồ thị tự động và có thể không phù hợp nhất cho nhu cầu của bạn.

Mà nói:

  • Nó có thể xuất ra ở dạng PNG hoặc SVG, nhưng không có chức năng xem trước.
  • Quy mô thời gian được xây dựng trong.
  • Dễ dàng viết kịch bản (truy cập dòng lệnh hoặc thư viện bằng nhiều ngôn ngữ script).
  • Đầu ra có thể được thực hiện để trông khá phong nha.

Đồ thị RRDTool


Nghe có vẻ thú vị, thiếu bản xem trước là không tệ - chỉ cần tạo png và sử dụng trình xem ảnh cạnh nhau là được. Bạn có thể cho một ví dụ về cuộc gọi dòng lệnh đơn giản của công cụ này?
maxschlepzig


Về cơ bản, bạn chạy rrdtool create ...một lần để thiết lập db RRD, rrdtool update ...một lần cho mỗi phần dữ liệu và rrdtool graph ...để tạo biểu đồ.
Cửu Long

12

R là thứ tốt hơn so với Gnuplot vì:

  1. Đó là một môi trường lập trình hoàn chỉnh, với các API mở rộng tương thích C và Fortran . Nếu máy tính của bạn có thể làm một việc, bạn có thể làm điều đó với R.

  2. Nhiều người đã đóng góp các giải pháp của họ cho các vấn đề phổ biến cho CRAN : Mạng lưu trữ toàn diện R. Bạn có thể tìm thấy zooggplot2các gói hữu ích cho nhiệm vụ này.

  3. Có rất nhiều cuốn sách về phân tích chuỗi thời gianRchung .

R có mọi thứ bạn yêu cầu:

  • Xuất ra X11, PNG hoặc (có bổ sung ) SVG

  • Các vòng tròn được lấp đầy cho các điểm cốt truyện: vượt qua pch=19hoặc pch=20tới par () hoặc points () . Có nhiều biểu tượng điểm cốt truyện khác được xác định trước, cộng với tất cả Unicode nếu bạn đang sử dụng phông chữ có hỗ trợ Unicode.

  • Biểu đồ nhận biết theo thời gian: nếu các biểu đồ tích hợp không có tỷ lệ bạn muốn, bạn có thể xây dựng bất cứ thứ gì bạn cần với sơ đồ nguyên lý của R

  • Có thể gọi từ tập lệnh: sử dụng #!/usr/bin/Rscriptdòng shebang trên tệp chương trình R của bạn

  • Đẹp và tiện lợi: Có các giao diện GUI, nếu bạn thích và nếu bạn không thích, môi trường điều khiển lệnh mặc định có rất nhiều tính năng hay, như khả năng xem mã nguồn R của nhiều hoạt động dựng sẵn, giúp để tìm hiểu làm thế nào hệ thống được kết hợp với nhau. (Vâng, phần lớn R được viết bằng R!)

  • Âm mưu khá hay: Khử răng cưa là mặc định nếu R được xây dựng chống lại Cairo, nó sẽ là nếu nó là bản dựng gần đây trên Linux. Các phiên bản cũ của R có thể không được tích hợp sẵn AA. Để biết ý tưởng về khả năng của R nếu bạn dành một chút thời gian cho nó, hãy kiểm tra điều này:

    (Bấm vào hình ảnh cho bài viết mô tả nó.)

Về dòng lệnh gnuplot, bạn có thể xây dựng nó để hỗ trợ đường đọc GNU, libedit BSD hoặc làm dự phòng, một lược đồ chỉnh sửa dòng lệnh tích hợp tùy chỉnh. (Điều này theo trang 20 của tài liệu hướng dẫn .) Tôi có gnuplot 3.7 trên một máy và 4.0 trên máy khác, và cả hai đều được xây dựng với đường dẫn. Là nhị phân của bạn được xây dựng mà không có bất kỳ trong số này?


Tôi bắt đầu sử dụng R cho tất cả các số liệu thống kê và âm mưu trong công việc, thật tuyệt!
jsbillings

Gợi ý tốt về libedit. Chà, tôi đang sử dụng gói gnuplot mặc định trên Ubuntu 10.04. Có vẻ như nó được liên kết với libedit dường như hỗ trợ chế độ vi ít nhất. Nhưng hoàn thành lệnh chỉ là tối thiểu (chỉ hoạt động đối với tên tệp) chứ không phải với các lệnh gnuplot, tức là về cơ bản là vô dụng (đây không phải là lỗi của libedit).
maxschlepzig

Bạn có thể thêm một phiên R ví dụ đơn giản để tạo một biểu đồ cơ bản (đọc tệp (đã phác thảo ở trên) và phát hành một chức năng cốt truyện mà tôi đoán) không?
maxschlepzig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.