从geom_bar图例中移除点号 ggplot r

4
这是我的数据。
Mod <- as.factor(c(rep("GLM",5),rep("MLP",5),rep("RF",5),rep("SVML",5),rep("SVMR",5)))
Manifold <- as.factor(rep(c("LLE","Iso","PCA","MDS","kPCA"),5))
ROC <- runif(25,0,1)
Sens <- runif(25,0,1)
Spec <- runif(25,0,1)
df <- data.frame("Mod"= Mod, "Manifold"= Manifold, "ROC" = ROC, "Sens" = sens, "Spec" = spec)

我正在制作这张图表

resul3 <- ggplot(df, aes(x = Mod, y = ROC, fill= Manifold)) + 
geom_bar(stat = "identity", position = "dodge", color = "black") +
ylab("ROC & Specificity") +
xlab("Classifiers") +
theme_bw() +
ggtitle("Classifiers' ROC per Feature Extraction Plasma") + 
geom_point(aes(y=Spec), color = "black", position=position_dodge(.9)) + 
scale_fill_manual(name = "Feature \nExtraction", values = c("#FFEFCA", 
"#EDA16A" ,"#C83741", "#6C283D", "#62BF94"))

第一个图

我想要另一个标题为“特异性”的图例,并有一个黑点。我不希望这个点在流形图例的内部。

类似于这样,但是没有点在流形正方形内


color 放入 geom_pointaes() 中以创建第二个图例。 - LAP
我猜他想要在图例中完全去掉点。 - drmariod
他说他想要一个标题为“特异性”的另一个图例和一个单独的黑点。所以你的答案部分正确,但你需要将第二个图例添加到geom_point的aes中。 - LAP
2个回答

4

更改geom_point行,添加scale_color_manual并使用在@drmariod的答案中看到的覆盖将导致此绘图:

ggplot(df, aes(x = Mod, y = ROC, fill= Manifold)) + 
  geom_bar(stat = "identity", position = "dodge", color = "black") +
  ylab("ROC & Specificity") +
  xlab("Classifiers") +
  theme_bw() +
  ggtitle("Classifiers' ROC per Feature Extraction Plasma") + 
  geom_point(aes(y=Spec, color = "Specificity"), position=position_dodge(.9)) + 
  scale_fill_manual(name = "Feature \nExtraction", values = c("#FFEFCA", 
                                                              "#EDA16A" ,"#C83741", "#6C283D", "#62BF94")) + 
  scale_color_manual(name = NULL, values = c("Specificity" = "black")) +
  guides(fill = guide_legend(override.aes = list(shape = NA)))

enter image description here


3
您可以通过这种方式覆盖形状的美学设置,并将其设置为NA
ggplot(df, aes(x = Mod, y = ROC, fill= Manifold)) + 
  geom_bar(stat = "identity", position = "dodge", color = "black") +
  ylab("ROC & Specificity") +
  xlab("Classifiers") +
  theme_bw() +
  ggtitle("Classifiers' ROC per Feature Extraction Plasma") + 
  geom_point(aes(y=Spec), color = "black", position=position_dodge(.9)) + 
  scale_fill_manual(name = "Feature \nExtraction", values = c("#FFEFCA", 
  "#EDA16A" ,"#C83741", "#6C283D", "#62BF94")) + 
  guides(fill = guide_legend(override.aes = list(shape = NA)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接