从geom_bar legend ggplot r中删除点

时间:2018-02-13 09:49:17

标签: r ggplot2 legend

这是我的数据。

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"))

first graph

我想要的是另一个传奇故事&#34;特异性&#34;还有一个黑点。我不希望这一点在Manifolds传奇中。

Something like this but without the points inside the manifold squares

2 个答案:

答案 0 :(得分:2)

更改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

答案 1 :(得分:1)

您可以覆盖形状的美学,并将其设置为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)))