R ggplot2如何改变符号颜色?

时间:2016-03-15 16:16:14

标签: r plot ggplot2

我在ggplot2中创建了一个情节(见下文)。我还没弄明白如何将颜色更改为灰度(移植=是或否,颜色应为黑色和深灰色),符号周围有黑色边框。这将包括符号和误差条,也应该适用于图例。

如何在符号周围加上黑色边框?我尝试将pch=21添加到geomplot行,但这搞砸了颜色。

以下是情节的代码:

# create personal theme for ggplot
my_theme<- theme_grey() + theme(legend.key = element_blank(),axis.text=element_text(size=14),axis.text=element_text(size=14),
                axis.title=element_text(size=16,face="bold"),legend.text = element_text(size = 14),
                legend.title = element_text(size = 16,face="bold"),legend.position="right",panel.grid.major.x = element_blank(),
                strip.text = element_text(size = 15),plot.title = element_text(size = 14, face="bold"))
# create plot
ggplot(data=trans_X,aes(x=Location, y=pred,group= Substrate)) + 
  geom_line(aes( linetype= Substrate,group=Substrate),size=1)+
  geom_point(data=trans_X, aes(shape=transferred, group= transferred,fill=transferred,color=transferred),size=6)+
  geom_errorbar(data=trans_X, position=position_dodge() ,aes(ymin=pred-2*sd,ymax=pred+2*sd, color=transferred),size=0.51,width=0.1)+
  my_theme+ 
  scale_fill_discrete(name="Transplanted")+
  scale_color_manual(name="Transplanted", values = c("no" = "gray10","yes" = "gray40"))+
  scale_shape_discrete(name="Transplanted")+
  scale_linetype_manual(name="Wrackbed substrate",
                        breaks=c("Steninge","M\366lle","K\344mpinge","K\u00E5seberga"),
                        values=c(1,5,3,6))+
  labs(y="Predicted mean development time",x="Fly origin")

enter image description here

2 个答案:

答案 0 :(得分:1)

当您设置scale_colour_grey()然后设置scale_color_discrete()时,您的第一个色标(灰色)将被删除并替换为新的(离散)。因此,我认为您要执行的操作是从代码中删除scale_color_discrete(),并在name = "Transplanted"行中添加scale_colour_grey()

答案 1 :(得分:0)

# create plot
ggplot(data=trans_X,aes(x=Location, y=pred,group= Substrate)) + 
  geom_line(aes( linetype= Substrate,group=Substrate),size=1)+
  geom_point(data=trans_X, aes(shape=transferred, group= transferred,fill=transferred,color=transferred),size=6)+
  geom_errorbar(data=trans_X, position=position_dodge() ,aes(ymin=pred-2*sd,ymax=pred+2*sd, color=transferred),size=0.51,width=0.1)+
  my_theme + 
  scale_shape_manual(name="Transplanted", values=c(21,24))+
  scale_colour_manual(name="Transplanted", values = c("no" = "black","yes" = "black")) +
  scale_fill_manual(name="Transplanted", values = c("no" = "black","yes" = "gray60"))+
  scale_linetype_manual(name="Wrackbed substrate",
                        breaks=c("Steninge","M\366lle","K\344mpinge","K\u00E5seberga"),
                        values=c(1,5,3,6))+
  labs(y="Predicted mean development time",x="Fly origin")

enter image description here