Bagaimana cara memvisualisasikan data deret waktu?


8

Saya memiliki beberapa data deret waktu yang ingin saya visualisasikan sebagai plot 2d.

Input adalah format tanggal ISO dan nilai dipisahkan oleh ruang, satu catatan per baris:

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

Outputnya harus berupa plot 2d yang terlihat bagus. Kebutuhan dasar:

  • output ke jendela X11 (sebagai pratinjau) dan ke file png
  • sumbu x harus memahami tanggal dan secara alami skala data, misalnya jarak antara 3 hari harus tiga kali lebih lama daripada jarak antara 1 hari
  • harus dapat dipanggil dari skrip
  • output yang bagus dan nyaman untuk digunakan

Bonus:

  • keluaran svg

Saya mencoba gnuplotdan berfungsi - ia memiliki beberapa dukungan tanggal:

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

Tapi saya punya beberapa masalah dengan gnuplot:

  • dengan plot pengaturan default terlihat sangat jelek
  • sulit untuk menemukan hal-hal di manual - misalnya ketika merencanakan poin bagaimana cara saya menggunakan lingkaran kecil diisi daripada tanda '+' default?
  • shell gnuplot adalah sakit di leher - tidak menggunakan readline, rusak, penyelesaian perintah adalah lelucon, saya tidak tahu cara mengaktifkan pintasan vi - atau jika didukung, bagaimana dengan pencarian terbalik dll.

Jadi pertanyaan saya: Apa alternatif untuk memvisualisasikan data deret waktu?

Atau apakah saya melebih-lebihkan masalah gnuplot?

Jawaban:


5

Seluruh tujuan keberadaan RRDTool adalah merencanakan data deret waktu, tetapi ini terutama dimaksudkan untuk grafik otomatis dan mungkin bukan yang paling cocok untuk kebutuhan Anda.

Yang mengatakan:

  • Ini dapat menghasilkan PNG atau SVG, tetapi tidak memiliki fungsi pratinjau.
  • Penskalaan waktu sudah terpasang.
  • Mudah ditulis (akses baris perintah atau pustaka dalam banyak bahasa scripting).
  • Output bisa dibuat agar terlihat lumayan.

Grafik RRDTool


Kedengarannya menarik, pratinjau yang hilang tidak terlalu buruk - hanya menghasilkan png dan menggunakan penampil gambar berdampingan harus ok. Bisakah Anda memberikan contoh panggilan baris perintah sederhana dari alat ini?
maxschlepzig


Pada dasarnya Anda menjalankan rrdtool create ...satu kali untuk mengatur RRD db, rrdtool update ...sekali per bagian data dan rrdtool graph ...untuk menghasilkan grafik.
Kowh

12

R lebih baik dalam hal semacam ini daripada Gnuplot karena:

  1. Ini adalah lingkungan pemrograman yang lengkap, dengan C dan ekstensi API yang kompatibel dengan Fortran . Jika komputer Anda dapat melakukan sesuatu, Anda dapat melakukannya dengan R.

  2. Banyak yang telah berkontribusi solusi mereka untuk masalah umum untuk CRAN : Comprehensive R Archive Network. Anda mungkin menemukan zoodan ggplot2paket bermanfaat untuk tugas ini.

  3. Ada banyak buku tentang analisis deret waktu dan R secara umum .

R memiliki semua yang Anda minta:

  • Output ke X11, PNG, atau (dengan add-on ) SVG

  • Lingkaran yang diisi untuk titik plot: lulus pch=19atau pch=20ke par () atau poin () . Ada banyak simbol titik plot lainnya yang telah ditentukan sebelumnya, ditambah semua Unicode jika Anda menggunakan font dengan dukungan Unicode.

  • Pembuatan grafik sadar-waktu: jika bawaan tidak memiliki skala yang Anda inginkan, Anda dapat membangun apa pun yang Anda butuhkan dengan merencanakan primitif R's

  • Callable from a script: gunakan #!/usr/bin/Rscriptbaris shebang pada file program R Anda

  • Bagus dan nyaman: Ada antarmuka GUI, jika Anda suka, dan jika Anda tidak suka, lingkungan berbasis perintah default memiliki banyak fitur bagus, seperti kemampuan untuk melihat kode sumber R dari banyak operasi bawaan, yang membantu untuk mempelajari bagaimana sistem disatukan. (Ya, banyak R ditulis dalam R!)

  • Plot yang cantik: Antialiasing adalah default jika R dibangun melawan Cairo, yang akan terjadi jika itu adalah build terbaru di Linux. Versi lama R mungkin tidak memiliki built-in AA. Untuk gagasan tentang kemampuan R jika Anda meluangkan sedikit waktu di dalamnya, lihat ini:

    (Klik gambar untuk artikel yang menggambarkannya.)

Mengenai baris perintah gnuplot, Anda dapat membangunnya untuk mendukung GNU readline, BSD libedit, atau sebagai back-back, skema pengeditan baris perintah kustom bawaan. (Ini menurut p.20 dari manual .) Saya memiliki gnuplot 3.7 pada satu mesin dan 4.0 pada yang lain, dan keduanya dibuat dengan readline. Apakah biner Anda dibuat tanpa ini?


Saya mulai menggunakan R untuk semua statistik saya dan merencanakan di tempat kerja, sangat bagus!
jsbillings

Petunjuk bagus tentang libedit. Yah, saya menggunakan paket gnuplot default di Ubuntu 10.04. Tampaknya itu terkait dengan libedit yang tampaknya mendukung mode vi setidaknya. Tetapi penyelesaian perintah hanya minimal (hanya berfungsi untuk nama file) dan tidak dengan perintah gnuplot, yaitu pada dasarnya tidak berguna (ini bukan kesalahan libedit).
maxschlepzig

Bisakah Anda menambahkan contoh R sesi sederhana untuk menghasilkan plot dasar (membaca file (di atas sketsa) dan mengeluarkan fungsi plot saya kira)?
maxschlepzig
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.