R — создать большое графическое устройство (переопределить ограничение размеров)

#r #graphics

#r #графика

Вопрос:

Я пытаюсь создать большой график, для которого требуются огромные размеры области графика. Я понял, что лучший способ сделать это — создать новое графическое устройство. Однако, похоже, существует какое-то ограничение на то, насколько большим может быть графическое устройство. Чтобы продемонстрировать мою проблему, я сначала создам графическое устройство с некоторыми обычными размерами (не слишком большими):

 dev.new(width = 5, height = 5, noRStudioGD = T)
 

Если я хочу проверить размер устройства, я могу использовать:

 dev.size()
 

Результат следующий:

 [1] 4.916667 4.916667
 

Это говорит нам о том, что размеры 5×5 приблизительно соблюдены. Теперь, если я попытаюсь создать устройство большего размера:

 dev.new(width = 800, height = 800, noRStudioGD = T)

dev.size()
 

Вывод:

 [1] 9.479167 9.479167
 

Кажется, что графическое устройство не может выйти за пределы размеров размером примерно 10×10. Поскольку это слишком мало для графика, который мне нужен, мне было интересно, как я могу изменить это наложенное ограничение и увеличить размер моего графического устройства?

Ответ №1:

Вы должны проверить тип устройства, которое вы создаете. Похоже, что вы пытаетесь указать размер в пикселях, но создаваемое вами устройство может быть указано в дюймах, сантиметрах и т. Д. В документах говорится, что созданное устройство по умолчанию указано getOption(«устройство») (проверка ?dev.new ). Я думаю, вы сможете создать устройство по умолчанию (с dev.new помощью), затем получить типы устройств (с dev.list помощью ), затем выполнить ?type of device показ из списка, чтобы получить более подробную информацию. т.е. для меня,

 > dev.new()
> dev.list()
X11
  2
> ?X11
 

Комментарии:

1. Спасибо за ваш ответ. Я последовал вашему совету и обнаружил, что тип графического устройства, которое я создаю, является windows . Я проверил документацию ( ?windows ), и в ней говорится: графическое окно не может быть указано более чем на 85% от ширины или высоты экрана: ширина и высота масштабируются пропорционально. . Итак, что мне делать дальше? Мне действительно нужно создать устройство, размер которого превышает 85% моего экрана

2. То, что вы упоминаете в своем комментарии, ссылается на «графическое окно», а не обязательно на «графическое устройство». Я не уверен, существуют ли ограничения на размер отображаемого изображения (за исключением ограничений вашей оперативной памяти), но я предполагаю, что если вы указали визуализацию изображения размером 50 x 50 дюймов в png() вызове, который создает device / etc, вы сможете сохранить его в файл иидите оттуда. Но я бы проверил документы.