删除图例键中的默认Alpha混合,更改图例键标题

时间:2015-04-24 06:19:28

标签: r plot legend alpha

我有三个不同组的视觉效果,我已将其制作成散点图:

dat = data.frame(x=rnorm(1000,0,1), y=rnorm(1000,0,1), 
                 cluster=sample(1:3, 1000,replace=TRUE))

ggplot(dat, aes(x,y)) +
geom_point(aes(colour = factor(cluster)), alpha=0.3) + 
xlab("My x-axis") + 
ylab("My y-axis") + 
theme(legend.position="bottom") + 
theme(legend.text =element_text("Clusters")) + 
ggtitle("My title")

我唯一不能得到的东西与传说(在底部)有关。我想删除当前的默认文本" factor(cluster"),而是删除每个组的文本中的硬编码。例如,我的传奇中有一个粉红色,绿色和蓝色的点,所以我可以硬编码像c("Pink group", "Green group", "Blue group")这样的东西。我无法解决的第二件事是图例颜色自动也是alpha混合的方式。我希望他们是他们的全彩。

(我解决了第二个问题,当我将alpha=0.3移动到aes()函数中时,图例颜色已经完整...但是我有一个不需要的新的第二个传奇版本等级,如下所示):

dat = data.frame(x=rnorm(1000,0,1), y=rnorm(1000,0,1), 
                 cluster=sample(1:3, 1000,replace=TRUE))

ggplot(dat,aes(x,y)) + 
geom_point(aes(colour = factor(cluster),alpha=0.3)) + 
xlab("My x-axis") + 
ylab("My y-axis") + 
theme(legend.position="bottom") + 
theme(legend.text =element_text("Clusters")) + 
ggtitle("My title")

EDIT / UPDATE:

我尝试了一个用户lukeA建议。用户说它在他们身边工作,但对我来说,键的颜色确实已经满了,但他们的文字却没有。三个圈子中的任何一个圈子旁边都没有单独的文字,并且有不受欢迎的词语" New Text"它也是。

dat=data.frame(x=rnorm(1000,0,1),y=rnorm(1000,0,1),cluster=sample(1:3, 1000,replace=TRUE))
p <- ggplot(dat,aes(x,y))+geom_point(aes(colour = factor(cluster),alpha=0.3))+xlab("My x-axis")+ylab("My y-axis")+theme(legend.position="bottom")+ theme(legend.text =element_text("Clusters"))+ggtitle("My title")
p + labs(colour = "New Text") + scale_colour_discrete(labels = c("Pink group", "Green group", "Blue group")) + guides(alpha = FALSE)

我也尝试过:

dat=data.frame(x=rnorm(1000,0,1),y=rnorm(1000,0,1),cluster=sample(1:3, 1000,replace=TRUE))
p <- ggplot(dat,aes(x,y))+geom_point(aes(colour = factor(cluster),alpha=0.3))+xlab("My x-axis")+ylab("My y-axis")+theme(legend.position="bottom")+ theme(legend.text =element_text("Clusters"))+ggtitle("My title")
p + labs(colour = "New Text") + scale_colour_discrete(labels = c("1"="Pink  group", "2"="Green group", "3"="Blue group")) + guides(alpha = FALSE)

仅通过在c中关联数字而改变(&#34; 1&#34; =&#34; Pink group&#34;,&#34; 2&#34; =&#34; Green group&#34; ,&#34; 3&#34; =&#34;蓝色组&#34;)。这也导致了同样的问题。

1 个答案:

答案 0 :(得分:1)

这可能有所帮助:

p <- ggplot(dat,aes(x,y))+geom_point(aes(colour = factor(cluster),alpha=0.3))+xlab("My x-axis")+ylab("My y-axis")+theme(legend.position="bottom")+ theme(legend.text =element_text("Clusters"))+ggtitle("My title")
p + labs(colour = "New Text") + 
  scale_colour_discrete(labels = c("1" = "Pink group", "2"= "Green group", "3" = "Blue group")) + 
  guides(alpha = FALSE)