R - Исправление легенды графика и других характеристик графика для многолинейного графика - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь построить график с пятью отдельными линиями, которые представляют разные переменные (то есть столбцы).Я пытался исправить легенду, и я не могу понять это правильно.Цвета также кажутся неправильными, поэтому я не совсем понимаю, что делать дальше.Данные, код и текущий график приведены ниже:

test.dat <- data.frame(matrix(c(0,.072,.063,.062,.059,.055,1,.029,.035,.024,.036,.017),
nrow=2,byrow=T))
colnames(test.dat) <- c("X1","Y1","Y2","Y3","Y4","Y5")

test.plot <- ggplot(data=test.dat) +
  geom_line(aes(x=X1, y=Y1, color="darkred")) +
  geom_line(aes(x=X1, y=Y2, color="darkgreen")) +
  geom_line(aes(x=X1, y=Y3, color="darkblue")) +
  geom_line(aes(x=X1, y=Y4, color="darkorange")) +
  geom_line(aes(x=X1, y=Y5, color="darkgoldenrod"))

enter image description here

Я пытаюсь создать имена переменных (т. Е. Y1, Y2,и т.д.) названия строк в легенде, а также название самой легенды.Я гуглил, чтобы выяснить, как изменить легенду, но ничего, что я пробовал, не меняет сюжет.Мне также нужно исправить метки осей и добавить заголовок графика.

Я довольно новичок в ggplot, так что точка в правильном направлении будет высоко оценена.Пожалуйста, дайте мне знать, если я смогу что-то уточнить.

1 Ответ

0 голосов
/ 27 января 2019

Будет проще, если вы измените свои данные с широких на длинные, а затем построите линии.Вы также определяете цвета в параметре aes (), который не меняет цвет, но, по сути, создает переменную с этим значением.Вы не упомянули, что именно вы хотите сделать с метками осей, но их можно редактировать с помощью scale_x_continuous или scale_y_continuous

library(tidyverse)

test.dat <- data.frame(matrix(c(0,.072,.063,.062,.059,.055,1,.029,.035,.024,.036,.017),
                              nrow=2,byrow=T))
colnames(test.dat) <- c("X1","Y1","Y2","Y3","Y4","Y5")

test.dat %>%
    gather(Y_var, value, -X1) %>%
    ggplot(aes(x = X1, y = value, color = Y_var)) + 
    geom_line() + 
    scale_color_manual(
        values = c("darkred","darkgreen","darkblue","darkorange",
                   "darkgoldenrod")
    ) + 
    labs(title = "Some plot title",
         color = "Some legend title")

enter image description here

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