2015-11-30 18 views
6

Bu soruda, Exporting PNG files from Plotly in R Plotly grafiklerini diske nasıl aktaracağımı sordum.Internet olmadan Plotly'den PNG dosyalarını dışa aktarma

plotly_IMAGE işlevini kullandım ancak bu işlev, işlevin Plotly internet sunucularını kullandığını keşfetti.

Soru şu ki, şimdi Plotly JavaScript yereldir, internet olmadan png yerel dosyayı nasıl oluşturabilirim?

Ben başarılı olamadı, bu kodu çalıştı:

library(plotly) 
png(filename = "test.png") 
plot_ly(x = 1:10) 
dev.off() 

fikri grafiğin üzerine ihracat butonuna tıklayarak olmadan, programaticaly bunu yapmaktır.

cevap

2

Sen çok kolay ve hızlıdır Phantom (http://phantomjs.org/download.html) yüklemeniz gerekir olacak ve bu deneyebilirsiniz: Eğer temp.html ve çalışma dizininde temp.png bulacaksınız

library(plotly) 
library(webshot) 
library(htmlwidgets) 

m <- plot_ly(x = 1:10) 
saveWidget(as.widget(m), "temp.html") 
webshot("temp.html", file = "test.png", 
     cliprect = "viewport") 

.

+0

phantomjs'ı indirdim. Ancak, yukarıdaki komut dosyasını çalıştırdığımda aşağıdaki hatayı alıyorum: 'find_phantom() 'da hata: PhantomJS bulunamadı. Webshot :: install_phantomjs() ile yükleyebilirsiniz. Yüklü ise, phantomjs dosyasının PATH değişkeniyle bulunabildiğinden emin olun. Bunu nasıl düzeltebileceğinizi biliyor musunuz? – Joni

+1

dowloaded, ancak onu yüklediniz mi? – MLavoie

+0

Ben bin dizininde phantomjs dosyasında iki kez seçildim ve terminal okuma açıldı: 'Son giriş: Mon May 30 10:47:54 ttys001 üzerinde /Users/Jonathan/Downloads/phantomjs-2.1.1-macosx/bin/phantomjs; çıkış; JonathasMacBook: ~ Jonathan $ /Users/Jonathan/Downloads/phantomjs-2.1.1-macosx/bin/phantomjs; çıkış; phantomjs> ' – Joni

3

plotly paketine yeni export işlev eklediler. Ama benim bildiğim kadarıyla, MLavoie'nin yanıtı ile aynı şeyi yapar. Kullanım:

p <- plot_ly(...) 
export(p, file = "test.png") 
İlgili konular