R: bir grafiği dinamik olarak güncelleme [kapalı]


9

Bu bir veri görselleştirme sorusudur. Sürekli revize (çevrimiçi güncelleme) bazı veriler içeren bir veritabanı var. R'de bir grafiği güncellemenin en iyi yolu nedir, her 5 veya 10 saniye olsun. (tekrar çizmeden her şey mümkündür)?

Fred

Yanıtlar:


7

R windows()veya x11()grafiği güncellemek istediğinizi varsayarsak , yeniden çizmeden grafik üzerinde yeni noktalar eklemek veya bir çizgiyi uzatmak için points()ve gibi işlevleri kullanabilirsiniz lines(); ancak bunun, eksenin menzilini görünmeyebilecek noktalara uyacak şekilde değiştirmeyeceğini unutmayın. Genel olarak, çizimin kendisini anlık yapmak genellikle iyi bir fikirdir - örneğin, hesaplama çabasını, çok sayıda nokta yerine yoğunluk haritası gibi, hızlı bir şekilde çizilebilen bazı azaltılmış orta temsiller haline getirerek veya çizgi çizimlerinin çözünürlüğünü azaltarak ( bu karmaşık olabilir).

R oturumunu meşgul beklemeden belirli bir süre tutmak için kullanın Sys.sleep().


(+1) Sys.sleep()İşlevi unuttum . Bence ve -axis aralığı önceden ayarlanmış bahis olmalı, değil mi? xy
chl

@chl, evet x ve yeksen aralıkları önceden ayarlanmalıdır.
mpiktas

1
@mpiktas Ya da sadece tek bir çağrı ile planı başlatın plot(), muhtemelen 0,0,type="n"henüz çizecek bir şey yoksa ... Aslında bu, ding plot.new()ve eksenler veya etiketler gibi tüm şeyleri elle eklemekten çok daha kolaydır .

Aslında bu en basit gibi görünüyor ... ama eksenlerin güncellenmemesi çok kötü. Çevrimiçi bir zaman serisini güncellemek istediğimden ve x ekseninin hangi hızda hareket ettiğini bildiğim için, her n güncellemede her şeyi tekrarlayabileceğimi tahmin ediyorum.
RockScience

8

Çevrimdışı görselleştirme için PNG dosyaları oluşturabilir ve ImageMagick'i kullanarak animasyonlu bir GIF'e dönüştürebilirsiniz . Ben gösteri için kullandım (bu olsa da, tüm verileri yeniden çizmek):

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

Bu, ön ekiyle birkaç PNG dosyası oluşturur fig. Sonra, un * x kabuğunda,

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

bu animasyonu ( S-Plus , S. Selvin, 1998 kullanılarak Modern Uygulamalı Biyoistatistik Yöntemlerden esinlenerek ) verir:

alternatif metin

Çok daha umut verici görünen bir başka seçenek de animasyon paketine güvenmektir . Hareketli Pencere Otomatik Regresyonu ile başlamanıza izin veren bir örnek var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.