Подтвердить что ты не робот

Скопируйте R-график в буфер обмена с нестандартным размером

Есть ли способ заставить R/RStudio скопировать сюжет в буфер обмена с нестандартным размером?

У RStudio есть эта функция, но вы должны определять размер каждый раз, и есть дополнительный щелчок, который, я уверен, можно избежать.

Я изо всех сил старался сэкономить как jpeg или еще с file="clipboard", а затем - после построения графика - dev.off(). Нет сообщений об ошибках, но также ничего в буфере обмена.

Вот пример:

data(mtcars)
jpeg(file = "clipboard",width = 800, height = 600, units = "px", pointsize = 12,
     quality = 100,
     bg = "white", res = NA, family = "", restoreConsole = T)
hist(mtcars$mpg)
dev.off()

Любые идеи о том, как это можно достичь?

4b9b3361

Ответ 1

Лучшим способом было бы управлять размером в Rstudio, но, как вы узнали себя на веб-сайте Rstudio, Rstudio не поддерживает это. Следующий код сохраняет ваш график в wmf. Существует также обходное решение для сохранения в растровое изображение, которое включает в себя несколько щелчков, но по крайней мере вам больше не нужно указывать размер:

data(mtcars)
windows(800, 600, pointsize = 12) #opens a separate window with the size you want 
hist(mtcars$mpg) #draw to this (active) window
savePlot("clipboard", type="wmf") #saves plot to WMF

К сожалению, невозможно сохранить формат jpg в буфер обмена. Вы можете скопировать его в растровое изображение, перейдя в это окно, нажмите CTRL-C, и график находится в буфере обмена в виде растрового изображения с 800: 600.

EDIT: Команда windows работает только в Windows.
Для Mac его следует заменить на: quartz(width=8,height=6,pointsize=12,dpi=100) (ширина/высота в дюймах!)

Для Linux попробуйте x11(width=8,height=6,pointsize=12,dpi=100) (untested).

Ответ 2

В Windows и RStudio нажмите "Экспорт", "Скопировать график в буфер обмена" и "Скопировать график".

Затем вставьте в Word или PowerPoint или что угодно.

Не нужно менять размеры, если вы этого не хотите.

Это не командная строка, но вряд ли кажется обременительной.