Цвета и стиль линий в ggplot2

У меня есть 5 групп, которые я хочу показать на графике в ggplot2, как показано в примере ЗДЕСЬ. Однако я не знаю, как указать, что каждая группа получает другой цвет в настройке ggplot2 И также разные оттенки? Так, например, на изображении красный - это группа A, а синий - это группа B. Сплошная линия - женский, а пунктирная - мужской. Желтый - контрольная группа. Спасибо!

Покажите, пожалуйста, 1) ваши данные, 2) то, что вы пробовали, и 3) какие исследования вы уже провели, например, просмотрев виньетки или справочные страницы для ggplot2. Пакет очень хорошо документирован, поэтому вы должны найти там хорошие примеры, чтобы начать работу. См. здесь о публикации хороших вопросов по R

camille 11.04.2018 17:48

Привет, @Oscar, если мой ответ решил ваш вопрос, подумайте о принимая это, нажав галочку. Это указывает широкому сообществу на то, что вы нашли решение, и дает некоторую репутацию как автору, так и вам. Спасибо.

mpalanco 13.04.2018 21:28
3
2
212
1

Ответы 1

Данные

# random example
df <- structure(list(time = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
    1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 1L, 2L, 3L, 4L, 5L, 
    6L, 7L, 8L, 9L, 10L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
    1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L), group = c("A", "A", 
    "A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", 
    "B", "B", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C", "C", 
    "C", "C", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "E", 
    "E", "E", "E", "E", "E", "E", "E", "E", "E"), value = c(3L, 3L, 
    8L, 5L, 4L, 4L, 9L, 6L, 7L, 4L, 5L, 2L, 6L, 8L, 6L, 7L, 6L, 2L, 
    4L, 10L, 3L, 7L, 3L, 2L, 8L, 6L, 5L, 3L, 1L, 7L, 6L, 9L, 7L, 
    4L, 6L, 4L, 7L, 6L, 7L, 7L, 3L, 4L, 10L, 2L, 7L, 10L, 7L, 8L, 
    10L, 3L)), row.names = c(NA, -50L), .Names = c("time", "group", 
    "value"), class = "data.frame")

Сюжет

Вы можете вручную цвет управления и тип линии, используя scale_color_manual и scale_linetype_manual. Для тип линии вы также можете использовать числа: 0 = пустое, 1 = сплошное, 2 = пунктирное, 3 = пунктирное, 4 = пунктирное, 5 = длинное, 6 = двойное.

library(ggplot2)
ggplot(data = df) +
  geom_line(aes(
    x = time ,
    y = value,
    colour = group,
    linetype = group
  )) +
  scale_color_manual(values = c(
    A = "red",
    B = "blue",
    C = "green",
    D = "yellow",
    E = "violet"
  )) +
  scale_linetype_manual(values = c("twodash","dotted","solid", "dashed", "longdash"))

enter image description here

Другие вопросы по теме