Answers:
根据我在Chase答案中的评论,您可以使用element_blank
以下方法删除很多此类内容:
dat <- data.frame(x=runif(10),y=runif(10))
p <- ggplot(dat, aes(x=x, y=y)) +
geom_point() +
scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0))
p + 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(),legend.position="none",
panel.background=element_blank(),panel.border=element_blank(),panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),plot.background=element_blank())
当我保存它时,似乎在生成的.png边缘周围仍然有少量边距。也许其他人也知道如何删除该组件。
(历史记录:自ggplot2版本0.9.2起,opts
已弃用。请改为使用theme()
并替换theme_blank()
为element_blank()
。)
theme(axis.ticks=element_blank())
不能正常工作,以及theme(axis.ticks.x=element_blank())
,可能是一个暂时的错误的地方(我有我自己的主题设定,然后我试图重写:只axis.ticks.x
和axis.ticks.y
做的工作。)
回复:更改主题等选项(对于懒惰的人):
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(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
当前答案不完整或效率低下。这(可能)是获得结果的最短方法(使用theme_void()
:
data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
theme_void() + theme(legend.position="none")
结果是:
如果您只想消除标签感兴趣,请labs(x="", y="")
执行以下操作:
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
labs(x="", y="")
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) + theme_void() + theme(legend.position="none", panel.background = element_rect(fill="grey80"), plot.background = element_rect(fill="red"))
表示它不是100%无效
labs(x="",y="")
轴标题留有空间,因为实际上有标题,但它们没有符号。要删除轴标题和空格,最好使用+ theme(axis.title = element_blank())
labs(x = NULL)
或xlab(NULL)
其他方式。
'opts' is deprecated.
在 ggplot2 >= 0.9.2
使用
p + theme(legend.position = "none")
xy <- data.frame(x=1:10, y=10:1)
plot <- ggplot(data = xy)+geom_point(aes(x = x, y = y))
plot
panel = grid.get("panel-3-3")
grid.newpage()
pushViewport(viewport(w=1, h=1, name="layout"))
pushViewport(viewport(w=1, h=1, name="panel-3-3"))
upViewport(1)
upViewport(1)
grid.draw(panel)
Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "NULL"
这是您想要的吗?
p <- ggplot(myData, aes(foo, bar)) + geom_whateverGeomYouWant(more = options) +
p + scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0)) +
opts(legend.position = "none")