我想使用bioconductor的hexbin(我可以做)来生成一个填充整个(png)显示区域的图 - 没有轴,没有标签,没有背景,没有nuthin'.
jor*_*ran 173
根据我在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())
Run Code Online (Sandbox Code Playgroud)
当我保存时,看起来在得到的.png的边缘周围仍然有一个小的余量.也许其他人知道如何删除该组件.
(历史注释:由于GGPLOT2版本0.9.2, opts.已被弃用,取而代之的使用theme()和更换theme_blank()用element_blank().)
小智 101
Re:将opts更改为主题等(对于懒人):
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())
Run Code Online (Sandbox Code Playgroud)
luc*_*cho 47
目前的答案不完整或效率低下.这是(也许)实现结果的最短途径(使用theme_void():
data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
theme_void() + theme(legend.position="none")
Run Code Online (Sandbox Code Playgroud)
结果是:
如果你对消除标签感兴趣,labs(x="", y="")那么诀窍是:
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
labs(x="", y="")
Run Code Online (Sandbox Code Playgroud)
Jon*_*ein 40
'opts' is deprecated.
Run Code Online (Sandbox Code Playgroud)
在ggplot2 >= 0.9.2使用中
p + theme(legend.position = "none")
Run Code Online (Sandbox Code Playgroud)
sym*_*ush 13
聚会迟到了,但可能会感兴趣......
labs我发现和规范的组合guides在许多情况下很有用:
你只需要一个网格和一个背景:
ggplot(diamonds, mapping = aes(x = clarity)) +
geom_bar(aes(fill = cut)) +
labs(x = NULL, y = NULL) +
guides(x = "none", y = "none")
Run Code Online (Sandbox Code Playgroud)
您只想抑制一个或两个轴的刻度线标签:
ggplot(diamonds, mapping = aes(x = clarity)) +
geom_bar(aes(fill = cut)) +
guides(x = "none", y = "none")
Run Code Online (Sandbox Code Playgroud)
这是你想要的吗?
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")
Run Code Online (Sandbox Code Playgroud)