2015-11-30 14 views
6

W tym pytaniu: Exporting PNG files from Plotly in R Zapytałem, jak wyeksportować działki na dysk.Eksportowanie plików PNG z wersji Plotly in R bez Internetu

Użyłem funkcji plotly_IMAGE, ale druga odkryła, że ​​funkcja korzysta z serwerów internetowych Plotly.

Pytanie brzmi: teraz, gdy funkcja Skrypty JavaScript jest lokalna, w jaki sposób mogę utworzyć plik lokalny png bez Internetu?

Próbowałem ten kod, bez powodzenia:

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

Chodzi o to, aby go programaticaly, bez kliknięcia na przycisk Eksportuj na wykresie.

Odpowiedz

2

Będziesz potrzebować zainstalować Phantom (http://phantomjs.org/download.html), który jest dość łatwe i można spróbować to:

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") 

znajdziesz temp.html i temp.png w katalogu roboczym.

+0

Mam pobrane phantomjs. Ale gdy uruchamiam powyższy skrypt, pojawia się następujący błąd: 'Błąd w find_phantom(): Nie znaleziono PhantomJS. Możesz zainstalować go za pomocą webshot :: install_phantomjs(). Jeśli jest zainstalowany, upewnij się, że plik wykonywalny phantomjs można znaleźć za pomocą zmiennej PATH. "Czy masz pojęcie, jak to naprawić? – Joni

+1

ściągnąłeś go, ale czy go zainstalowałeś? – MLavoie

+0

Dwukrotnie kliknąłem na plik 'phantomjs' w katalogu' bin' i otwarte czytanie terminala: 'Ostatnie logowanie: Pon. Maj 30 10:47:54 na ttys001 /Users/Jonathan/Downloads/phantomjs-2.1.1-macosx/bin/phantomjs; wyjście; JonathasMacBook: ~ Jonathan $ /Users/Jonathan/Downloads/phantomjs-2.1.1-macosx/bin/phantomjs; wyjście; phantomjs> ' – Joni

3

Dodali nową funkcję export do pakietu . Ale według mojej wiedzy robi to tak samo, jak sugeruje odpowiedź @ Mavavie. Użycie:

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