R 删除两个ggplot图例之一

R 删除两个ggplot图例之一,r,ggplot2,R,Ggplot2,我很难弄明白为什么ggplot会给出两个传说。我想要图例标题“重采样技术”,但我更喜欢底部图例中的图例图标。如何调整代码以实现这一点?我原以为删除“组”或“颜色”参数可能会解决这一问题,但效果并不理想 库(ggplot2) df使用以下代码 ggplot(df, aes(x=factor(IR), y=misclass, colour = as.factor(resample),group=as.factor(resample))) + geom_line(lwd=1) + geom_

我很难弄明白为什么ggplot会给出两个传说。我想要图例标题“重采样技术”,但我更喜欢底部图例中的图例图标。如何调整代码以实现这一点?我原以为删除“组”或“颜色”参数可能会解决这一问题,但效果并不理想

库(ggplot2)
df使用以下代码

ggplot(df, aes(x=factor(IR), y=misclass, colour = as.factor(resample),group=as.factor(resample))) +
  geom_line(lwd=1) +
  geom_point(shape=24,size=3,aes(color=as.factor(resample),fill=as.factor(resample)), show.legend = F) +hw+
  scale_y_continuous(breaks=seq(0,0.15,0.025))+
  scale_x_discrete(breaks=2^(0:7),labels=c("1","2","4","8","16","32","64","128"))+
  labs(x="Imbalance Ratio",y="Risk")+
  guides(colour=guide_legend(title="Resampling\nTechnique"))
我在
geom_point
中添加了
,show.legend=F
,以删除额外的图例。

使用以下代码

ggplot(df, aes(x=factor(IR), y=misclass, colour = as.factor(resample),group=as.factor(resample))) +
  geom_line(lwd=1) +
  geom_point(shape=24,size=3,aes(color=as.factor(resample),fill=as.factor(resample)), show.legend = F) +hw+
  scale_y_continuous(breaks=seq(0,0.15,0.025))+
  scale_x_discrete(breaks=2^(0:7),labels=c("1","2","4","8","16","32","64","128"))+
  labs(x="Imbalance Ratio",y="Risk")+
  guides(colour=guide_legend(title="Resampling\nTechnique"))

我已在
geom_point
中添加了
,show.legend=F
,以删除额外的图例。

如果要保留图例中的点,只需更改最后的
参考线即可:

  guides(fill=guide_legend(title="Resampling\nTechnique"), color=FALSE)


如果要保留图例中的点,只需更改最后一个
指南

  guides(fill=guide_legend(title="Resampling\nTechnique"), color=FALSE)


从您的代码中删除
,填充=as.factor(重采样)
+hw
。它只会给你一个图例。哎呀,我完全忘了在我的代码中包含
hw
对象。我想保留这个。删除填充将使三角形透明,但我希望它们保持填充状态。我刚刚在
guides()
中包含了
fill=FALSE
,它删除了图例,但图标仍然透明。从代码中删除
、填充=as.factor(重采样)
+hw
。它只会给你一个图例。哎呀,我完全忘了在我的代码中包含
hw
对象。我想保留这个。删除填充使三角形透明,但我希望它们保持填充状态。我只是在
guides()
中包含了
fill=FALSE
,它删除了图例,但图标仍然是透明的。