Как нарисовать пустой участок?


Мне нужно сделать пустой участок. Это лучшее, что я мог придумать.

plot(0, xaxt = 'n', yaxt = 'n', bty = 'n', pch = '', ylab = '', xlab = '')

есть более простые решения?

П. С.: совершенно пустой, нет оси и т. д.

9 82

9 ответов:

Как насчет чего-то вроде:

plot.new()

Я предлагаю, чтобы кто-то должен сделать пустой сюжет, чтобы добавить некоторые графики на нем позже. Итак, используя

plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))

вы можете указать границы осей вашего графика.

Это несколько проще, чем ваше исходное решение:

plot(0,type='n',axes=FALSE,ann=FALSE)

Адам, после вашего комментария выше ("я хотел, чтобы пустой участок, чтобы служить в качестве наполнителя в совместного графика (mfrow) сюжет."), то, что вы на самом деле хотите, это опция mfg

    par(mfg=c(row,column))

- которая контролирует, куда вы хотите поместить следующий сюжет. Например, чтобы поставить сюжет в середине 3х3 совместного графика, делать

    par(mfrow=c(3,3))
    par(mfg=c(2,2))
    plot(rnorm(10))

следующее не строит ничего в сюжете, и он останется пустым.

plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel")

это полезно, когда вы хотите добавить линии или точки после этого в пределах for петли или что-то подобное. Просто не забудьте изменить xlim и ylim значения, основанные на данных, которые вы хотите построить.

вам нужно новое окно графика, а также система координат, так что вам нужно plot.new() и plot.window(), затем вы можете начать добавлять элементы диаграммы:

plot.new( )
plot.window( xlim=c(-5,5), ylim=c(-5,5) )

points( rnorm(100), rnorm(100) )
axis( side=1 )

пример участка

есть интерес к вашему решению, что plot.new() не имеет хотя: в пустом участке вы "рисуете" вы можете написать текст в указанных координатах с text(x = ..., y = ..., your_text).

grid.newpage() ## If you're using ggplot

grid() ## If you just want to activate the device.

пустой участок с некоторыми текстами, которые задают положение.

plot(1:10, 1:10,xaxt="n",yaxt="n",bty="n",pch="",ylab="",xlab="", main="", sub="")
mtext("eee", side = 3, line = -0.3, adj = 0.5)
text(5, 10.4, "ddd")
text(5, 7, "ccc")