изменение цвета вручную для ggplot - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь вручную изменить цвета в ggplot, чтобы мои коробочные графики были цветовыми кодами в группы (например, Qilai и Nagigi одного цвета). Я запустил следующий код, и он работал просто отлично.

B1 <- ggplot(tissue_A, aes(x=Site, y=d15N.permil)) + geom_boxplot() + 
  geom_signif(comparisons = list(c("Suva", "Nagigi")), y_position = 14.3, map_signif_level=TRUE) +  
  geom_signif(comparisons=list(c("Suva", "Qilai")),
  y_position = 13.8, tip_length = 0.03, vjust=0.2, map_signif_level=TRUE)

Затем я попытался запустить его позже, и все работает, кроме цветов. Я изменил код, чтобы отделить вещи, используя следующий код:

B1 + labs(title = "T. jarbua Tissue", y = "δ15 permil") + scale_fill_manual(values = c("yellow","yellow", "red","red"), name = "Site")

ggplot(tissue_A, aes(x=Site, y=d15N.permil)) + geom_boxplot() + 
  geom_signif(comparisons = list(c("Suva", "Nagigi")), y_position = 14.3, map_signif_level=TRUE) +  geom_signif(comparisons=list(c("Suva", "Qilai")), y_position = 13.8, tip_length = 0.03, vjust=0.2, map_signif_level=TRUE) + scale_fill_manual(values = c("yellow","yellow", "red","red"), name = "Site")

И у меня все еще есть все, кроме работы цветов. Моя R-студия обновлена, и я попытался перезапустить. Есть ли что-то, что может мешать запуску моего кода?

Спасибо!

1 Ответ

0 голосов
/ 27 апреля 2018

Я полагаю, что вы пропускаете аргумент fill при вызове aes. Смотрите следующий пример из этого урока:

library(ggplot2)

ToothGrowth$dose <- as.factor(ToothGrowth$dose)
bp<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
  geom_boxplot()
bp

Произведен следующий график, окрашенный по дозе.

ToothGrowth coloured by dose

Вы должны добавить fill=Site при вызове aes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...