Выделите курсором и раскрасьте легенду вручную для разных графиков, используя одинаковые метки и цвета - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь создать несколько графиков с одинаковыми легендами. Я нашел много способов объединить несколько графиков, и кажется, что ggarrange имеет возможность создать одну общую легенду для всего, что должно быть уникальным. Однако у меня возникают некоторые проблемы при построении графиков, поскольку некоторые из графиков не имеют одного и того же типа (который определяет цвета легенды), но я хотел бы, чтобы все они были одинаковыми цветами на всех графиках, чтобы объединенная легенда иметь правильные цвета. Только для одного графика я бы назначил цвет метке вручную, как показано ниже

labs<-c("Arthropoda"="#FF66CC"
        ,"Cercozoa"="#FF6000")

и сюжет с добавлением scale_fill_manual(values=labs), и это, кажется, работает

затем я изменил его, чтобы можно было выделить их курсивом.

labsPhylum <-c('expression(paste(italic("Arthropoda")))'="#CC0000"
              ,'expression(paste(italic("Cercozoa")))'= "#FF6000"
             ,'expression (paste("unknown", ~italic("Eukaryota")))'= "#990000")`

Однако, когда я создаю график, используя ggplot и scale_color_manual(), используя labsPhylum, который, по моему мнению, должен быть выделен курсивом и окрашен, я строю пустой график с этим предупреждением, поэтому есть что-то важное, чего я здесь не понимаю.

ggplot(data=sigtab_dil, aes(x=Species, y=log2FoldChange, color=Phylum))+ 
  geom_point(size=2) + 
  scale_color_manual(values=labsPhylum)

    Warning message:
    Removed 9 rows containing missing values (geom_point). 

Может кто-нибудь помочь мне выяснить, где я иду не так? Спасибо

1 Ответ

0 голосов
/ 21 марта 2019

Ответил на свой вопрос

Я понял, что мне нужно создавать отдельные векторы для разрывов, меток и значений, а не комбинировать их.

Короче

colsPhylum <-c("Arthropoda"="#CC0000"
              ,"Cercozoa"= "#FF6000"
              ,"Chlorophyta"= "#CC9900"

labsPhylum <-c(expression(paste(italic("Arthropoda")))
               ,expression(paste(italic("Cercozoa")))
               ,expression(paste(italic("Chlorophyta ")))

breaksPhylum <-c("Arthropoda", "Cercozoa","Chlorophyta", "Choanozoa"
               ,"Ciliophora"
               ,"Cryptista"
...