Answers:
怎么样:
plot.new()
x11()
是跨平台的R命令,用于打开新设备。如果您打开并呼叫plot.new()
设备,则会清除当前设备。
x11()
了dev.new()
?我的本能是要使用后者来适应本地默认设备,但是我不确定那是如何工作的。
x11()
习惯使用。我不是R绘图方面的专家,但是在浏览了文档之后,dev.new()
可能会更好。
这比原始解决方案要简单一些:
plot(0,type='n',axes=FALSE,ann=FALSE)
ann=FALSE
,无论如何将是一个空白区域。但是,很好的解决方案,谢谢!
以下内容在图中未显示任何内容,它将保持为空。
plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel")
当您想在for
循环或类似内容之后添加线或点时,此功能很有用。只需记住根据要绘制的数据更改xlim
和ylim
值。
附带说明:
这也可以用于箱线图,小提琴图和群图。对于那些记得添加add = TRUE
到其绘图功能的用户,还请指定at =
要在其上绘图的数字(默认值是x轴,除非您horz = TRUE
在这些功能中进行了设置)。
grid.newpage() ## If you're using ggplot
grid() ## If you just want to activate the device.
grid()
与网格包AFAIK无关
如果有人在寻找ggplot2
解决方案,则可以使用cowplot
或patchwork
软件包
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软件包(v0.2.1.9000)创建于2019-03-17
一个带有一些已设置位置的文本的空图。
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")
plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='')
,因为main = "", sub = ""
即使没有它们,您甚至都可以得到相同的结果。