Условный цвет текста в geom_text, scale_color_manual
Здесь я установил colorRed
в TRUE
поэтому текст красный. Но когда я установил его FALSE
, цвет по-прежнему красный.
Как сделать цвет текста зависимым от значения colorRed
?
library(ggplot2)
ann_text = data.frame(x = 1.5, y = max(mtcars$mpg), LABEL = "TEXT", colorRed = FALSE)
ggplot(mtcars, aes(x = factor(am), y = mpg)) + geom_boxplot() +
geom_text(data = ann_text, aes(x = x, y = y, label = LABEL, color = colorRed)) +
scale_color_manual(values = c('red', 'black'), guide = "none")
1 ответ
Решение
Здесь есть важный урок. Всегда передавать именованный вектор values
а также labels
в весах, чтобы обеспечить предполагаемое отображение.
ggplot(mtcars, aes(x = factor(am), y = mpg)) +
geom_boxplot() +
geom_text(data = ann_text, aes(x = x, y = y, label = LABEL, color = colorRed)) +
scale_color_manual(values = c('TRUE' = 'red', 'FALSE' = 'black'), guide = "none")