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

Remove default alpha blending in legend key, change legend key titles

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

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() 函数中时,图例颜色已满......但我有一个不需要的新第二个图例对于 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")

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("1"="Pink group"、"2"="Green group"、"3"="Blue group") 中关联数字而改变。这也导致了同样的问题。

这可能有帮助:

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)