我正在尝试创建一个没有数据之外的信息的情节。没有轴;没有网格;无题;只是情节。
但是我不断获得额外的边距和填充,我无法删除。
library(ggplot2)
library(grid)
theme_bare <- theme(
axis.line = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
#axis.ticks.length = unit(0, "lines"), # Error
axis.ticks.margin = unit(c(0,0,0,0), "lines"),
legend.position = "none",
panel.background = element_rect(fill = "gray"),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.margin = unit(c(0,0,0,0), "lines"),
plot.background = element_rect(fill = "blue"),
plot.margin = unit(c(0,0,0,0), "lines")
)
ggplot() +
geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +
theme_bare
生成此图片:
我想要的是:
我无法弄清楚如何摆脱蓝色并使深灰色与边缘齐平。
有人可以提供一些建议吗?
答案 0 :(得分:29)
以下是仅绘制面板区域的方法:
p <- ggplot() + geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +
scale_x_date(expand = c(0,0)) + scale_y_continuous(expand = c(0,0)) +
theme(line = element_blank(),
text = element_blank(),
title = element_blank())
gt <- ggplot_gtable(ggplot_build(p))
ge <- subset(gt$layout, name == "panel")
grid.draw(gt[ge$t:ge$b, ge$l:ge$r])
答案 1 :(得分:18)
从ggplot2_2.0.0
开始,您可以使用theme_void
:
ggplot() +
geom_area(data = economics, aes(x = date, y = unemploy), linetype = 0) +
theme_void()
答案 2 :(得分:10)
试
last_plot() + theme(axis.ticks.length = unit(0.001, "mm")) + labs(x=NULL, y=NULL)
您可能想要提交0刻度长度的错误。
答案 3 :(得分:-1)
如果你只是想去掉theme_bw()中的网格,可以使用:
+ theme_bw() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())