簡體   English   中英

在ggplot2中,使用兩種圖形類型時如何縮放圖例?

[英]In ggplot2 how can I scale the legend when using two graph types?

我正在將ggplot2與+ geom_line()+ geom_point()一起使用。 我已經解決了顏色/形狀,但是無法適當縮放圖例。 如果我什么都不做,那么它很小,如果我放大它,顏色就會擋住形狀。

例如: 在此處輸入圖片說明

您可以看到形狀和顏色都在圖例中,但是形狀正在被顏色繪制。 我想在圖例中繪制適當顏色的形狀,但不知道該怎么做。

我的情節被淹死如下:

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

以下是一些請求的示例數據示例數據

在此先感謝您提供的任何幫助。

您也許可以重新考慮如何區分變量。 您可以執行以下操作。 請注意第一行的更改,在該行中,我已分隔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)))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM