2015-11-13 4 views
0

Здесь есть аналогичный вопрос, но не для моей конкретной проблемы.Выберите элементы легенды ggplot и сохраните цвета палитры

Давайте бар кадра данных и ggplot:

d <- data.frame(
    letters = LETTERS[1:10], 
    numbers = 11:20 
) 

ggplot(d, aes(x = letters, y = numbers, fill = letters)) + 
    geom_bar(stat = "identity") 

мне нужно показать только элементы A и J в легенде. Я могу использовать этот код, но палитра градиента полностью сломана, и я не знаю, как вернуть его.

ggplot(d, aes(x = letters, y = numbers, fill = letters)) + 
    geom_bar(stat = "identity") + 
    scale_fill_manual(breaks = c("A", "J"), values = d$letters) 

Знаете ли вы, пожалуйста?

вопросов: похожи

+0

Вот вопрос, который отвечает на вашу проблему: http://stackoverflow.com/questions/33697211/select-ggplot-legend-items-and-preserve-palette-colors – Heroka

ответ

2

Вы должны указать scale_fill_discrete код поэтому должен выглядеть следующим образом:

ggplot(d, aes(x = letters, y = numbers, fill = letters)) + 
    geom_bar(stat = "identity") + 
    scale_fill_discrete(breaks = c("A", "J")) 

Plot

Смежные вопросы