2016-01-27 2 views
-1

Я пытаюсь использовать ggplot2 для построения нескольких строк на одном участке R, но у меня есть проблема, и я не могу. Это мой первый вопрос. Я изучаю, как использовать студию R и ее пакет, поэтому я не очень хорошо знаю это, поэтому, пожалуйста, будьте терпеливы. Это код, который я написал:Использование ggplot2 для построения нескольких строк в одном графике R

library(ggplot2) 
x <- 1:10 
y1 <- dati.m$With.no.educational.qualifications 
y2 <- dati.m$Compulsory.education..1st.cycle 
y3 <- dati.m$Compulsory.education..2nd.cycle 
y4 <- dati.m$Compulsory.education..3rd.cycle 
y5 <- dati.m$Upper.secondary.education 
y6 <- dati.m$Higher.education 
df <- dati.m(x, y1, y2, y3, y4, y5, y6) 
ggplot(df, aes(x)) + 
    geom_line(aes(y=y1), 
      colour="red") + 
    geom_line(aes(y=y2), 
      colour="green") + 
    geom_line(aes(y=y3), 
      colour="blue") + 
    geom_line(aes(y=y4), 
      colour="yellow") + 
    geom_line(aes(y=y5), 
      colour="orange") + 
    geom_line(aes(y=y6), 
      colour="black") 

но когда я исполняю его R, я получаю сообщение об ошибке:

Error: Aesthetics must be either length 1 or the same as the data (17): y, x

+1

Просьба представить воспроизводимый пример. Здесь вы можете увидеть примеры: http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – lizzie

ответ

2

Я заменил df <- dati.m(x, y1, y2, y3, y4, y5, y6) на df <- data.frame(x, y1, y2, y3, y4, y5, y6)

Если вы используете этот код:

library(ggplot2) 
x <- 1:10 
y1 <- 1:10 
y2 <- 2:11 
y3 <- 3:12 
y4 <- 4:13 
y5 <- 5:14 
y6 <- 6:15 
df <- data.frame(x, y1, y2, y3, y4, y5, y6) 
ggplot(df, aes(x)) + 
     geom_line(aes(y=y1), 
        colour="red") + 
     geom_line(aes(y=y2), 
        colour="green") + 
     geom_line(aes(y=y3), 
        colour="blue") + 
     geom_line(aes(y=y4), 
        colour="yellow") + 
     geom_line(aes(y=y5), 
        colour="orange") + 
     geom_line(aes(y=y6), 
        colour="black") 

вы получите следующее:

enter image description here

+0

Прежде всего, спасибо вам за ответ! Возможно, я ошибся, ища правильный примерный код для того, что я собирался сделать, или я недостаточно хорошо объяснял себя. Я пытаюсь объяснить лучше. Я написал сценарий, который загружает данные из Quandl об уровне обучения в португале, разделенном на годы количество людей и уровень обучения, затем я написал код, который рисует сюжет для каждого школьного уровня, получая следующие сюжеты: ссылка на альбом с помощью image: http://imgur.com/a/BVwqH сейчас, я хотел бы сделать один сюжет со всеми данными вместе, сюжет со всеми различными линиями –

+0

Поскольку ваш код может отображать несколько строк (как показано на моей ответ), это означает, что проблема не в коде. Так что, вероятно, из ваших данных. Если вы рисуете 10 x, вам также нужно построить график 10 y – HubertL

+0

Итак, что вы рекомендуете делать? Должен ли я опубликовать весь свой скрипт, чтобы вы могли его открыть или прочитать, и сказать, что я делаю неправильно? Ничего, я хочу еще раз поблагодарить вас за ваше время и ваш ответ! –

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