@ Адам, я не понимаю, что ты имеешь в виду, говоря "собственно R".
Джошуа Ульрих
@Joshua, извините, plot.new () работает нормально, в x11 () нет необходимости. Я правильно сказал R, потому что думал, что x11 () является частью вашего решения, но он работает без него.
Adam SO
1
@Adam x11()- это кроссплатформенная команда R для открытия нового устройства. Если у вас открыто устройство и вы звоните plot.new(), текущее устройство будет очищено.
Джошуа Ульрих
1
Есть ли преимущество у x11()более dev.new()? Мой инстинкт состоит в том, чтобы выбрать последнее, чтобы приспособить любое локальное устройство по умолчанию, но я не уверен, как все работает.
Мэтт Паркер,
@Matt: Пользуюсь x11()по привычке. Я не специалист по построению графиков в R, но после просмотра документации, dev.new()вероятно, будет лучше.
Джошуа Ульрих
63
Я предлагаю кому-то создать пустой сюжет, чтобы потом добавить на него графику. Итак, используя
Это полезно, когда вы хотите добавить линии или точки впоследствии в forцикл или что-то подобное. Только не забудьте изменить xlimи ylimзначение на основе данных , которые вы хотите построить.
В качестве примечания:
это также можно использовать для графиков Boxplot, Violin и swarm plots. для тех, кто не забывает добавить add = TRUEк своей функции построения графика, а также указать, at =на каком номере вы хотите их построить (по умолчанию ось x, если вы не установили horz = TRUEв этих функциях.
Адам, следуя вашему комментарию выше («Я хотел, чтобы пустой график служил заполнителем в многосюжетном (mfrow) графике.»), На самом деле вам нужен параметр mfg
par(mfg=c(row,column))
- который определяет, где вы хотите разместить следующий сюжет. Например, чтобы поместить график в середину мультиплота 3x3, выполните
Вам нужно новое окно графика, а также система координат, поэтому вам нужно plot.new()и plot.window(), затем вы можете начать добавлять элементы графика:
В вашем решении plot.new()есть интерес, которого нет: на пустом графике, который вы «рисуете», вы можете писать текст в заданных координатах с помощью text(x = ..., y = ..., your_text).
Зачем добавлять текст? При чем здесь «Как создать пустой сюжет?». В целом, это кажется более сложным, чем метод OP в вопросе plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab=''), поскольку вы добавляете, main = "", sub = ""даже если вы получаете тот же результат без них.
x11()
- это кроссплатформенная команда R для открытия нового устройства. Если у вас открыто устройство и вы звонитеplot.new()
, текущее устройство будет очищено.x11()
болееdev.new()
? Мой инстинкт состоит в том, чтобы выбрать последнее, чтобы приспособить любое локальное устройство по умолчанию, но я не уверен, как все работает.x11()
по привычке. Я не специалист по построению графиков в R, но после просмотра документации,dev.new()
вероятно, будет лучше.Я предлагаю кому-то создать пустой сюжет, чтобы потом добавить на него графику. Итак, используя
вы можете указать пределы осей вашего изображения.
источник
Это немного проще, чем ваше исходное решение:
источник
ann=FALSE
, все равно будет пустая область. Но отличное решение, спасибо!Следующее ничего не отображает на графике и останется пустым.
Это полезно, когда вы хотите добавить линии или точки впоследствии в
for
цикл или что-то подобное. Только не забудьте изменитьxlim
иylim
значение на основе данных , которые вы хотите построить.В качестве примечания: это также можно использовать для графиков Boxplot, Violin и swarm plots. для тех, кто не забывает добавить
add = TRUE
к своей функции построения графика, а также указать,at =
на каком номере вы хотите их построить (по умолчанию ось x, если вы не установилиhorz = TRUE
в этих функциях.источник
Адам, следуя вашему комментарию выше («Я хотел, чтобы пустой график служил заполнителем в многосюжетном (mfrow) графике.»), На самом деле вам нужен параметр mfg
- который определяет, где вы хотите разместить следующий сюжет. Например, чтобы поместить график в середину мультиплота 3x3, выполните
источник
Вам нужно новое окно графика, а также система координат, поэтому вам нужно
plot.new()
иplot.window()
, затем вы можете начать добавлять элементы графика:пример сюжета
источник
В вашем решении
plot.new()
есть интерес, которого нет: на пустом графике, который вы «рисуете», вы можете писать текст в заданных координатах с помощьюtext(x = ..., y = ..., your_text)
.источник
источник
grid()
не имеет отношения к сетке пакета AFAIKЕсли кто - то ищет
ggplot2
решение, вы можете использовать либоcowplot
илиpatchwork
пакетыСоздано 17.03.2019 пакетом REPEX (v0.2.1.9000)
источник
Пустой сюжет с некоторыми текстами, которые задают позицию.
источник
plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='')
, поскольку вы добавляете,main = "", sub = ""
даже если вы получаете тот же результат без них.