Вот воспроизводимый набор данных с непрерывным заполнением на основе Amount
. Как видно из приведенного ниже примера, у меня также есть столбец в d
по номеру flag
. Я хочу, чтобы можно было визуализировать flag
, изменив цвет рамки на красный цвет.ggplot geom_bar непрерывная заливка цвета отдельным цветом на основе условного
# create reproducible data
library(ggplot2)
d <- read.csv(text='Day,Location,Length,Amount,flag
1,4,3,1.1,FALSE
1,3,1,2,FALSE
1,2,3,4,FALSE
1,1,3,5,FALSE
2,0,0,0,FALSE
3,3,3,1.8,TRUE
3,2,1,3.54,FALSE
3,1,3,1.1,FALSE',header=T)
ggplot(d, aes(x = Day, y = Length)) +
geom_bar(aes(fill = Amount, order = -Location), stat = "identity")
Я экспериментировал с alpha
и что, безусловно, делает флаг нужный бар, но не может визуализировать данные так, как я хочу:
ggplot(d, aes(x = Day, y = Length)) +
geom_bar(aes(fill = Amount, order = -Location, alpha = -flag), stat = "identity")
alpha
при использовании -flags
(обратите внимание -
) также столовых с легенда, что нежелательно.
Используя приведенную ниже команду возвращает ошибку, что мне нужно 2 цветовые переменные, но я только хочу 1, red
:
ggplot(d, aes(x = Day, y = Length)) +
geom_bar(aes(fill = Amount, order = -Location, alpha = -flag), stat = "identity") +
scale_colour_manual(values = alpha(c('red')))
Чтобы резюмировать:
Я хочу, чтобы показать бар, где
flag = TRUE
с красным контуром (или что-то в равной степени заметным) без изменения непрерывной шкалы, уже принятойAmount
.Я хочу, чтобы в легенде отразилось, что
flag = TRUE
с красным цветом (или любым другим).
Я не смог найти подходящее решение, просматривая Интернет, поэтому любые мысли или предложения очень ценятся!
Это идеальное решение. Не знаю, добавили ли вы эту вторую часть в качестве редактирования или нет, но в любом случае вы читаете мой разум! Спасибо за быстрый поворот и простое решение! – James