geom_text () удаление данных после упорядочивания факторов

Я создаю диаграмму / график Ганта с использованием geom_segment (R novice).

этот код:

timeline <- ggplot(db, aes(x=Discovery.date, y=Compound.name, label=Compound.name, colour=Compound.name))+
  geom_segment(aes(xend= End.Date, y=Compound.name, yend= Compound.name), size=5)+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
  geom_text(hjust = 'middle', nudge_x = 6, nudge_y= 0.11, colour="black")+
  labs(x= "Discovery Date",
       y= "Compound Name")+
  theme(axis.text.y=element_blank(),
        axis.ticks.y=element_blank(),
        legend.position="none")+


timeline

возвращает этот график: неправильный порядок

Когда я изменяю порядок, чтобы отразить дату обнаружения, используя этот код:

db$Compound.name <- factor(db$Compound.name, levels = c("sarkomycin",
                                     "carzinophilin",
                                     "mitomycin C",
                                     "streptozocin",
                                     "chromomycin A3",
                                     "mithramycin",
                                     "bleomycin",
                                     "actinomycin D",
                                     "doxorubicin",
                                     "daunorubicin",
                                     "zinostatin",
                                     "aclarubicin",
                                     "peplomycin",
                                     "epirubicin HCl",
                                     "pirarubicin",
                                     "idarubicin HCl",
                                     "pentostatin",
                                     "zinostatin stimalamer",
                                     "valrubicin",
                                     "amrubicin HCl",
                                     "temsirolimus"))

db $ Compound.name <- factor (db $ Compound.name, levels = rev (levels (db $ Compound.name)))

результат: правильный порядок изменяет порядок, но теряет Compound.name = pirarubicin (y = 7th сверху) и становится серым сегментом вверху. Причина:

Удалено 1 строка, содержащая отсутствующие значения (Compound.name <- c («саркомицин», «карзинофилин», «митомицин С», «стрептозоцин», «хромомицин А3», «митрамицин», «блеомицин», «актиномицин D», «доксорубицин», «даунорубицин», «циностатин», «aclarubicin», «peplomycin», «эпирубицин HCl», «пирарубицин», «идарубицин HCl», «пентостатин», «zinostatin stimalamer», «valrubicin», «amrubicin HCl», «temsirolimus») Discovery. («1954», «1956», «1958», «1960», «1961», «1961», «1962», «1964», «1972», «1975», «1976», 1981 »,« 1981 »,« 1984 »,« 1988 »,« 1990 »,« 1992 »,« 1994 »,« 1999 »,« 2002 »,« 2007 ») End.Date <- c (« 1965 », «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018», «2018»). Df <- data.frame (Compound.name, Discovery.date, End.Date))

Изменен только порядок данных, и он находится в пределах xlim.

Любая помощь или предложения будут оценены.

Образец кода:

label

r,ggplot2,

1

Ответов: 1


0

Переместите ggplotаргумент из aesgeom_textthetic ( aes) и в geom_textэстетику. (Я также переместил все аргументы своей темы в один блок, чтобы упростить чтение).

ggplot(df, aes(x=Discovery.date, y=Compound.name, colour=Compound.name))+  # OUT OF HERE
  geom_segment(aes(xend= End.Date, y=Compound.name, yend= Compound.name), size=5)+
  geom_text(aes(label=Compound.name), # INTO HERE
                hjust = 'middle', nudge_x = 6, nudge_y= 0.11, colour="black")+  
    labs(x= "Discovery Date", y= "Compound Name")+
    theme(axis.text.y=element_blank(),
          axis.ticks.y=element_blank(),
          legend.position="none",
          panel.grid.major = element_blank(), 
          panel.grid.minor = element_blank())
г ggplot2,
Похожие вопросы
Яндекс.Метрика