R: perbarui grafik secara dinamis [ditutup]

9

Ini adalah pertanyaan visualisasi data. Saya memiliki database yang berisi beberapa data yang terus direvisi (pembaruan online). Apa cara terbaik dalam R untuk memperbarui grafik setiap katakanlah 5 atau 10 detik. (tanpa merencanakan lagi semuanya mungkin)?

fRed

RockScience
sumber

Jawaban:

7

Dengan asumsi Anda ingin memperbarui R windows()atau x11()grafik, Anda dapat menggunakan fungsi seperti points()dan lines()untuk menambah titik baru atau memperpanjang garis pada grafik tanpa menggambar ulang; namun perhatikan bahwa ini tidak akan mengubah kisaran sumbu untuk mengakomodasi titik yang mungkin tidak terlihat. Secara umum itu biasanya ide yang baik untuk membuat plot itu sendiri seketika - misalnya dengan menggerakkan upaya komputasi untuk membuat beberapa representasi tengah yang berkurang yang dapat diplot dengan cepat, seperti peta kerapatan, bukan sejumlah besar poin atau mengurangi resolusi plot garis ( ini mungkin rumit).

Untuk menahan sesi R untuk waktu tertentu tanpa menunggu sibuk, gunakan Sys.sleep().


sumber
Sys.sleep()xy
xy
1
@mpikta Atau hanya init plot dengan satu panggilan ke plot(), mungkin dengan 0,0,type="n"jika tidak ada yang merencanakan ... Memang ini jauh lebih mudah daripada ding plot.new()dan menambahkan semua hal seperti kapak atau label dengan tangan.
Memang ini tampaknya yang paling sederhana ... tetapi terlalu buruk bahwa sumbu tidak diperbarui. Karena saya ingin memperbarui rangkaian waktu secara online, dan saya tahu pada kecepatan mana sumbu x bergerak, saya kira saya dapat mengganti segala sesuatu setiap n pembaruan.
RockScience
8

Untuk visualisasi offline, Anda dapat membuat file PNG dan mengonversinya menjadi GIF animasi menggunakan ImageMagick . Namun saya menggunakannya untuk demonstrasi (menggambar ulang semua data):

source(url("http://aliquote.org/pub/spin_plot.R"))
dd <- replicate(3, rnorm(100))
spin.plot(dd)

Ini menghasilkan beberapa file PNG, diawali dengan fig. Kemudian, pada shell un * x,

convert -delay 20 -loop 0 fig*.png sequence.gif

memberikan animasi ini (yang terinspirasi dari Metode Biostatistik Terapan Modern menggunakan S-Plus , S. Selvin, 1998):

teks alternatif

Pilihan lain yang terlihat jauh lebih menjanjikan adalah mengandalkan paket animasi . Ada contoh dengan Regresi Auto Jendela Pindah yang seharusnya membiarkan Anda memulai.

chl
sumber