使用ggplot绘图时geom_line与geom_point出现警告的问题求助
问题原因
你在ggplot的aes()映射里给x、y传了带单引号的字符串(比如'GDP.per.capita'),这会让ggplot把它们当作固定的单个值,而非引用df里的对应列。你的数据有156行,但x/y的美学值只有1个,两者长度不匹配,因此触发警告。
另外你代码里还有个小错误:head(data)应该改成head(df),因为你读入的数据存在df对象里,data是未定义的。
解决办法
去掉aes()里列名的单引号,直接使用列名(如果列名含空格/特殊字符,用反引号`包裹即可):
修正后的完整代码:
df <- read.csv("2019.csv", header = TRUE, sep = "," ) head(df) ggplot(data = df, aes(x = GDP.per.capita, y = Social.support)) + geom_line(color = "red", size = 1) + geom_point(size = 2)
YouTube上的人没出现警告,是因为他们在aes()里直接用了列名,没有加单引号,ggplot正确识别了数据列,美学映射长度和数据行数一致,自然不会触发警告。
内容的提问来源于stack exchange,提问作者sakif zaman
相关产品推荐
相关产品推荐

