我想在R中绘制这个数据集的多条线:(x =年份,y=值)
School_ID Year Value
A 1998 5
B 1998 10
C 1999 15
A 2000 7
B 2005 15
每所学校都有不同年份的数据。我希望每所学校都有一条线路。
发布于 2012-04-27 18:54:19
这是你想要的吗?您需要group = School_id
告诉ggplot2为每个学校绘制单独的线条。如果希望水平轴包含1998到2005年之间的所有年份,则在x = factor(year)
中移除factor
library(ggplot2)
df = read.table(text = "School_id Year Value
A 1998 5
B 1998 10
C 1999 15
A 2000 7
B 2005 15", sep = "", header = TRUE)
ggplot(data = df, aes(x = factor(Year), y = Value, color = School_id)) +
geom_line(aes(group = School_id)) + geom_point()
发布于 2012-05-02 21:29:11
base R中的plot函数不支持分组,因此您需要逐个显示您的组。GGPLOT很好地处理分组。我还建议您查看Trellis XYPLOT,它允许您绘制不同的组。
这就是如何使用网格创建基本的分组线状图:
library(lattice)
rm(list = ls()) # clear objects
graphics.off() # close graphics windows
test = data.frame(x = rep(1:3, each = 2),
group = rep(c("Group 1","Group 2"),3),
y= c(22,8,11,4,7,5)
)
xyplot(y~x,
type="b",
group=group,
data=test,
auto.key =list(
points = FALSE,
columns=2,
lines = TRUE)
)
https://stackoverflow.com/questions/10349096
复制相似问题