ggplot2代码运行并更新图,但实际上没有数据显示

时间:2017-09-21 14:30:38

标签: r plot ggplot2

我尝试使用R中的ggplot2生成图表。虽然我能够使用plot()生成我想要的图表,但当我运行下面的ggplot代码时,它会显示正确的轴,但没有数据或比例。

数据看起来像这样:

data <- data.frame(area=c("alpha", "alpha", "bravo", "bravo", "charlie", "charlie"),
                   year=c(2001, 2002, 2001, 2002, 2001, 2002),
                   rate=c(.94, .90, .83, .87, .87, .95))

其中area是一个字符变量,year / rate只是数字。

如果我跑

plot(data$year, data$rate)

我在绘图窗口中看到了我希望看到的图表。我想要做的是在ggplot中将其重新创建为折线图。这就是我的尝试:

gg <- ggplot(data=data, aes(x="year", y="rate", group="area"))
gg + geom_point()
gg + geom_line()
gg

# also tried subsetting to remove the group issue, thinking that might help but it didn't. also removed line from this too
temp <- data[data$area=="alpha",]
gg <- ggplot(data=temp, aes(x="year", y="rate"))
gg + geom_point()
gg

# also tried this which manages to put a dot in the middle of the still empty plot
ggplot(data=test) +
     geom_point(mapping=aes(x="Year", y="Attendance Rate", group="Area"))

在这两种情况下,我得到相同的结果:代码运行正常(无错误)并且绘图窗口刷新到我最近最喜欢的那个,但是当它具有正确的X和Y标签(年/速率)时它没有&实际上把数据放在那里。也没有规模,所以它显然没有读取任何信息。

我在这里做错了什么?我一直在使用下面的指南和参考表,但我(至少想我想)正在重新创建它们但显然我不是。

https://www.rstudio.com/wp-content/uploads/2016/11/ggplot2-cheatsheet-2.1.pdf

http://r-statistics.co/ggplot2-cheatsheet.html

http://www.sthda.com/english/wiki/ggplot2-line-plot-quick-start-guide-r-software-and-data-visualization

http://tutorials.iq.harvard.edu/R/Rgraphics/Rgraphics.html

1 个答案:

答案 0 :(得分:2)

不要使用引号 使用:aes("year", "rate")您正在绘制单词"year""rate" 使用aes(year, rate),您可以在数据year中绘制变量ratedata

ggplot(data, aes(year, rate, group = area)) + 
    geom_point() + 
    geom_line()

enter image description here

如果由于某种原因您必须使用引号,请改用aes_string

ggplot(data, aes_string("year", "rate", group = "area")) + 
    geom_point() + 
    geom_line()