我正在尝试使用ggplot2
在一个R图中绘制多行,但我遇到了问题而我无法做到。这是我的第一个问题。我正在学习如何使用R studio及其包装,所以我不太了解它,所以请耐心等待。这是我写的代码:
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")
但是当我执行它时,我收到一个错误:
错误:美学必须是长度1或与数据相同(17):y,x
答案 0 :(得分: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")
你会得到这个: