2014-09-23 74 views
3

下面是一些测试数据:directlabels&ggplot2的背景颜色?

y <- c(1:10, 6:15) 
b <- c(rep(c("A", "B"), each=10)) 
x <- 1:10 
df <- data.frame(b, x, y) 

和测试图:

library(ggplot2) 
library(directlabels) 
p1 <- ggplot(df, aes(x=x, y=y, colour=b)) + geom_line() 
direct.label(p1, list("first.points", hjust=-1, vjust=-0.5)) 

enter image description here

我想标签的背景为白色(文本周围的矩形)。有没有办法实现这一点?我试过fill="white"colour="white"background="white",什么都没有发生..

+0

你有没有试过'theme_set(theme_bw())'?也许你会得到警告,但它应该可以正常工作。 – 2014-09-23 06:51:37

+3

[** This Q&A **](http://stackoverflow.com/questions/24815672/how-can-i-configure-box-color-in-directlabels-draw-rects)可能会有所帮助。 – Henrik 2014-09-23 06:52:45

+0

@Henrik,谢谢,'my.dl < - list(box.color =“white”,“draw.rects”); direct.label(p1,list(“first.points”,hjust = -1,vjust = -0.5,“calc.boxes”,“my.dl”))'工作! – beetroot 2014-09-23 07:02:54

回答

4

好了,感谢Henrik的评论指向this question我想出了这个:

p1 <- ggplot(df, aes(x=x, y=y, colour=b)) + geom_line() 

my.dl <- list(box.color="white", "draw.rects") 
direct.label(p1, list("first.points", hjust=-1, vjust=-0.3, "calc.boxes", "my.dl")) 

enter image description here

-1

你的代码只需要适应是theme_set(theme_bw())

y <- c(1:10, 6:15) 
b <- c(rep(c("A", "B"), each=10)) 
x <- 1:10 
df <- data.frame(b, x, y) 

theme_set(theme_bw()) # added 
library(ggplot2) 
library(directlabels) 
p1 <- ggplot(df, aes(x=x, y=y, colour=b)) + geom_line() 
direct.label(p1, list("first.points", hjust=-1, vjust=-0.5)) 

enter image description here

+1

谢谢,但那不是我正在寻找的,我希望信件的背景也是白色的。 – beetroot 2014-09-23 06:57:15

+0

啊,我明白了,对不起,那@亨利克的提示可能会有所帮助! – 2014-09-23 06:58:26

+0

不用担心,现在得益于@Henrik – beetroot 2014-09-23 07:02:03