Изменение цвета баров в geom_bar - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь, чтобы цвет полос в приведенном ниже коде переходил от светло-голубого к темно-синему (снизу вверх)

q2r <- c("Not good at all", "slightly good",
         "somewhat good", "quite good", "extremely good")

q2 <- survey %>%
  ggplot(aes(x = connect_goals)) +
  geom_bar() +
  scale_x_discrete(limits = q2r) + 
  scale_y_continuous(limits = c(0, 10), breaks = seq(0, 10, 1)) +
  labs(title = "During class, how good is the teacher at connecting 
                the material being taught to clearly stated learning goals?",
       x = "", y = "") +
  coord_flip()

Picture of visualization

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Отличное начало вашего первого вопроса!В следующий раз не забудьте включить образец ваших данных, чтобы сделать воспроизводимый пример для нас, чтобы помочь вам.

Чтобы сделать это правильно, вам просто нужно будет правильно учесть ваши данные, настроить эстетическое сопоставление для заполнения, затем примените функцию масштабирования, чтобы получить правильные цвета.

library(tidyverse)

#Reproducible data for your example
survey <- tibble(connect_goals = c("Not good at all","slightly good","slightly good","somewhat good",
                                   "somewhat good","somewhat good","somewhat good","somewhat good", "extremely good","extremely good",
                                   "extremely good","extremely good","extremely good"))

q2r <- c("Not good at all", "slightly good",
         "somewhat good", "quite good", "extremely good")

# Create a factor out of connect goals, which sets the proper order for scales.
survey %>%
  mutate(connect_goals = factor(connect_goals, q2r)) %>% 
  ggplot(aes(x = connect_goals, fill = connect_goals)) +
  geom_bar() +
  scale_x_discrete(limits = q2r) + 
  scale_fill_brewer(direction = -1, palette = "Blues") +
  scale_y_continuous(limits = c(0, 10),
                     breaks = seq(0, 10, 1)) +
  labs(title = "During class, how good is the teacher at connecting 
                the material being taught to clearly stated learning goals?",
       x = "", y = "") +
  coord_flip()

Создано в 2018-12-16 пакетом Представить (v0.2.1)

0 голосов
/ 17 декабря 2018

Без ваших данных здесь предлагаемое решение. Вы должны установить свою эстетику.Также есть несколько способов сделать ручную смену цвета.Например, вы можете набрать ?scale_fill_manual() и посмотреть, как это работает.Вы, наверное, ищете ?scale_fill_discrete() и набор блюза, если память мне не изменяет.Благодаря комментарию Джейка, я отредактирую этот ответ.

q2r <- c("Not good at all", "slightly good",
    "somewhat good", "quite good", "extremely good")

  q2 <- survey %>%
        ggplot(aes(x = connect_goals,fill=connect_goals)) +
        geom_bar() +
        scale_x_discrete(limits = q2r) + 
        scale_y_continuous(limits = c(0, 10),
             breaks = seq(0, 10, 1)) +
        labs(title = "During class, how good is the teacher at connecting 
            the material being taught to clearly stated learning goals?",
             x = "", y = "") +
         coord_flip()

Приветствия!

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