r - 更改ggplot中点的颜色填充和形状

标签 r ggplot2

<分区>

我想在 ggplot 中更改点的形状和颜色填充,这是我的部分工作的代码,颜色图例仍然是黑色。

ID<-rep(c("KO", "WT"), each=4)
O<-rep(c("HP", "NN"), each=2, times=2)
Methionine<-rep(c("- Methionine", "+ Methionine"), each=2, times=2)
mean.1<-sample(50:100, 8)
se.1<-runif(8, min=1, max=3)
mydata<-data.frame(ID, O, Methionine, mean.1, se.1)

ggplot(mydata, aes(x=O, y=mean.1, ymax=max(mean.1), shape=Methionine, fill=ID)) + 
  geom_errorbar(aes(ymin=mean.1-se.1, ymax=mean.1+se.1), size=1,colour="black", width=.15) +
  geom_point( size = 10) +
  scale_shape_manual(labels=c("+ Methionine", "- Methionine"),
                     values = c(21,22))+
  scale_fill_manual(name=bquote(bold(paste(alpha, " "))), values = cols)

最佳答案

您需要告诉 ggplot 对图例使用 shape=21,以便它使用一个注意填充规范的点,即

scale_fill_manual(name=bquote(bold(paste(alpha, " "))),
                     values = cols,
                     guide=guide_legend(override.aes=list(shape=21))

完整示例:

cols <- c("red","blue")
set.seed(101)
library(ggplot2)
mydata <- data.frame(ID=rep(c("KO", "WT"), each=4),
     O=rep(c("HP", "NN"), each=2, times=2),
  Methionine=rep(c("- Methionine", "+ Methionine"), each=2, times=2), 
      mean.1=sample(50:100, 8),
  se.1=runif(8, min=1, max=3))

gg0 <- ggplot(mydata,
   aes(x=O, y=mean.1, ymax=max(mean.1), shape=Methionine, fill=ID)) + 
   geom_errorbar(aes(ymin=mean.1-se.1, ymax=mean.1+se.1),
            size=1,colour="black", width=.15) +
   geom_point( size = 10)+
   scale_shape_manual(labels=c("+ Methionine", "- Methionine"),
                 values = c(21,22))

  gg0 + 
   scale_fill_manual(name=bquote(bold(paste(alpha, " "))),
                     values = cols,
                     guide=guide_legend(override.aes=list(shape=21))

enter image description here

关于r - 更改ggplot中点的颜色填充和形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41336986/

相关文章:

r - Geom_ribbon() 只是将图表变成空白

来自命令行的 R 脚本

r - parallel::clusterExport 如何从全局环境传递嵌套函数?

r - 使用 ggplot2 指定图例中的特定中断

r - 使用函数向 ggplot 添加多个图层

删除图例 ggplot 2.2

r - 如何在 R 中合并两个数据帧后打印新列

r - 为什么我在按 'with' 选择时得到 NA

R中ggplot2中 map 的区域缺失部分

r - 为使用 facet_wrap (ggplot2) 创建的每个子图添加标签