如何画出一个空白的情节?

我需要一块空地,这是我能想到的最好的地方。

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

有更简单的解决办法吗?

附注: 完全空,没有轴等。

172982 次浏览

比如说:

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


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

亚当,按照你上面的评论(“我希望空的情节作为一个多情节填充(mfrow)情节。”)实际上需要的是 mfg 选项

    par(mfg=c(row,column))

它控制你想把下一个阴谋放在哪里。例如,要将一个情节放在3x3多情节中间,请执行

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

在您的解决方案中有一个 plot.new()没有的兴趣: 在您“绘制”的空图中,您可以使用 text(x = ..., y = ..., your_text)在指定的坐标处写入文本。

我建议有人需要使空的情节,以便添加一些图形在它以后。因此,使用

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

可以指定图形的轴限制。

这比你最初的解决方案要简单一些:

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

下面的代码不会在情节中绘制任何东西,它将保持为空。

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

当您想在 for循环或类似的内容中添加线或点时,这非常有用。只要记住根据要绘制的数据更改 xlimylim值即可。

顺便说一句: 这也可以用于盒子情节,小提琴情节和蜂群情节。对于那些记得将 add = TRUE添加到绘图函数并指定 at =来指定要绘制它们的数字(默认为 x 轴,除非在这些函数中设置了 horz = TRUE)。

你需要一个新的绘图窗口和一个坐标系,所以你需要 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(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")

如果有人正在寻找 ggplot2解决方案,您可以使用 cowplotpatchwork

library(ggplot2)


### examples from cowplot vignettes
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
geom_point(size = 2.5)
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) +
geom_bar() +
theme(axis.text.x = element_text(angle = 0, vjust = 0.5))


library(cowplot)
### use NULL
plot_grid(plot.mpg, NULL, NULL, plot.diamonds,
labels = c("A", "B", "C", "D"),
ncol = 2
)


# Note: if you want to initialize an empty drawing canvas, use ggdraw()

library(patchwork)
### use plot_spacer()
plot.mpg + plot_spacer() + plot_spacer() + plot.diamonds +
plot_layout(ncol = 2) +
plot_annotation(
title = "Plot title",
subtitle = "Plot subtitle",
tag_levels = "A",
tag_suffix = ")"
)

Reprex 软件包于2019-03-17创作(0.2.1.9000)

另一个简单的 ggplot2选项是像下面这样使用 是的:

library(ggplot2)
ggplot() +
geom_blank()

创建于2022-08-21与 Reprex v2.0.2

正如你所看到的情节是空白的。