Я быстро подведу итог, как я использую rmote
, хотя страница github содержит гораздо больше информации.
ssh -L 4321:localhost:4321 remoteuser@remotehost
tmux
(или tmux attach
, если уже запущен)
emacs
, начать R с помощью ESS
Однажды, чтобы начать работу:
library(rmote)
start_rmote(server_dir="path/to/save/pngs")
Создайте несколько графиков, указывая вашему локальному веб-браузеру на http://127.0.0.1:4321
. (Первоначально он будет отображать список каталогов, но после запуска графиков он должен автоматически обновляться.)
plot(1:10, type='l')
plot_done() # required for base-graphics
plot(2:20)
plot_done()
library(ggplot2)
ggplot(mtcars, aes(mpg, disp)) + geom_point() # no plot_done() required for ggplot2
Отключиться от tmux / ssh. (Скорее всего, веб-страница не будет работать, так как туннель закрыт.)
- Переподключение,
ssh -L 4321:localhost:4321 remoteuser@remotehost
и tmux attach
.
- Обновление браузера, все доступные графики (с полной историей)
- Когда закончите,
stop_rmote()
. Все графики сохраняются в path/to/save/pngs/plots/
.
Бонус: если вы делаете start_rmote(...)
с тем же каталогом, будет доступна та же история сюжета. Так что если вам нужно перезапустить сеанс R, ничего не было потеряно. (Я не тестировал его, но, возможно, он будет работать с одновременными сеансами R ...)
EDIT
Я часто изменяю размер графика, частично для того, чтобы я мог заполнить экран моего браузера, но иногда для установки определенных размеров файлов для отчетов или для репликации другого ограничения экрана.
options(rmote_device = list(type="png", retina=TRUE, width=1024, height=768))
Ссылка: https://github.com/cloudyr/rmote/blob/ee13936806cc1be5b2f95b70b33af374331ae2dc/man/rmote_device.Rd
РЕДАКТИРОВАТЬ 2 : Полагаю, я должен заметить, что, хотя, возможно, при недостаточном использовании возможностей rmote
, его, безусловно, можно использовать просто для целей автоматического -Генерация ПНГ с большинством методов построения графиков. Вам не нужно подключаться к 127.0.0.1:4321, чтобы реализовать автоматическое сохранение PNG.