在R中绘制多组点的图形

8
我有多组xy坐标点需要绘制。我希望每组xy坐标点都能够用一条线连接起来。换句话说,我的目标是在一个图中绘制多个实验实例,每个实例都用一条线近似表示。另外,如何让这些线的颜色不同? plot函数可以实现我想要的效果,但是只能处理一组xy坐标点: plot(x, y, ...) 这个函数是否可以处理多组数据或者是否有其他函数可以实现?
1个回答

10

如果使用普通的绘图命令,我通常会创建一个绘图并使用lines()函数添加更多线条。

否则,您可以使用lattice或ggplot2。以下是一些数据:

df <- data.frame(a = runif(10), b = runif(10), c = runif(10), x = 1:10)

您可以使用lattice中的xyplot()函数:
library(lattice)
xyplot(a + b + c ~ x, data = df, type = "l", auto.key=TRUE)

或者在ggplot2中使用geom_line()函数:

library(ggplot2)
ggplot(melt(df, id.vars="x"), aes(x, value, colour = variable,
        group = variable)) + geom_line() + theme_bw()

这里有另一个例子,包括每对数据点(来自learnr博客上的这篇文章):

library(lattice)
dotplot(VADeaths, type = "o", auto.key = list(lines = TRUE,
     space = "right"), main = "Death Rates in Virginia - 1940",
     xlab = "Rate (per 1000)")

使用ggplot2制作的相同图形:

library(ggplot2)
p <- ggplot(melt(VADeaths), aes(value, X1, colour = X2,
             group = X2))
p + geom_point() + geom_line() + xlab("Rate (per 1000)") +
         ylab("") + opts(title = "Death Rates in Virginia - 1940")

我遇到了一个错误:Error: could not find function "dotplot"。我需要从CRAN获取什么才能使用它吗? - hekevintran
好的,我现在明白库函数的调用了。谢谢你的回答! - hekevintran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接