2017-08-29 28 views
1

我在+ geom_line()+ geom_point()中使用ggplot2。我制作了颜色/形状,但我无法适当缩放图例。如果我什么都不做,它很小,如果我放大它,颜色会阻止形状。在ggplot2中,如何在使用两种图形类型时缩放图例?

例如:enter image description here

您可以看到形状和颜色都在传说,但形状由颜色绘制了过来。我想要在图例中绘制适当颜色的形状,但无法弄清楚如何去做。

我的阴谋被淹没如下:

ggplot(data=melted, aes(x=gene, y=value, colour=variable, shape=variable, group = variable, stroke=3, reorder(gene, value))) 
+ theme_solarized() 
+ scale_colour_solarized("blue") 
+ geom_line() 
+ geom_point() 
+ theme(axis.text.x = element_text(angle = 90, hjust = 1), plot.title = element_text(size=16, face="bold"), legend.title=element_blank(), legend.text=element_text(size=20)) 
+ ggtitle('Signiture Profiles') 
+ labs(x="Gene", y=expression(paste("Expression"), title="Expression")) 
+ scale_colour_manual(name = "Virus/Time", labels = c("Mock", "ACali09_day1", "ACali09_day3", "ACali09_day8", "AShng113_day1", "AShng113_day3", "AShng113_day8", "AChkShng113_day1", "AChkShng113_day3", "AChkShng113_day8"), values = c("#ff420e","#89da59","#89da59","#89da59","#376467","#376467","#376467","#00293c","#00293c","#00293c")) 
+ scale_shape_manual(name = "Virus/Time", labels = c("Mock", "ACali09_day1", "ACali09_day3", "ACali09_day8", "AShng113_day1", "AShng113_day3", "AShng113_day8", "AChkShng113_day1", "AChkShng113_day3", "AChkShng113_day8"), values = c(0,1,2,3,1,2,3,1,2,3)) 
+ guides(colour = guide_legend(override.aes = list(size=12))) 

这里是要求一些示例数据:Example Data

预先感谢任何帮助,您可以提供。

+0

你可以添加一个例子的数据集,以你的问题,我们可以使用? – aosmith

+0

试试:'guides(shape = guide_legend(override.aes = list(size = 12)))''而不是'guides(color = guide_legend(override.aes = list(size = 12)))' – Mosquite

+0

@Mosquite好主意不幸的是它没有改变任何东西。 :( –

回答

1

你也许可以重新思考你是如何区分变量的。 你可以做如下的事情。请注意第一行中的更改,我已将variable的组成部分分开,而不是通过scale语句设置颜色和形状。 (我没有你的主题,所以我把它留下了)。

ggplot(data=melted, aes(x=gene, 
         y=value, 
         colour=gsub("_.*","",variable), 
         shape=gsub(".*_","",variable), 
         group = variable, 
         stroke=3, 
         reorder(gene, value))) + 
    geom_line() + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1), 
     plot.title = element_text(size=16, face="bold"), 
     legend.title=element_blank(), 
     legend.text=element_text(size=20)) + 
    ggtitle('Signiture Profiles') + 
    labs(x="Gene", y=expression(paste("Expression"), title="Expression")) + 
    guides(shape = guide_legend(override.aes = list(size=5)), 
     colour = guide_legend(override.aes = list(size=5))) 

enter image description here

+0

谢谢,这是对情节的一大改进。 –

相关问题