在 R 中绘制多重曲线

发布于 2024-11-18 05:21:04 字数 89 浏览 1 评论 0原文

我需要在 R 中的单个图中绘制多条曲线,例如同一图中的 (a,b) 和 (a,c),其中 a、b 和 c 是数据向量。有人知道该怎么做吗?谢谢。

I need to plot multi curves in a single graph in R, for example (a,b) and (a,c) in the same graph, where a,b and c are data vectors. Anyone know how to do this? Thanks.

cheng

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

话少情深 2024-11-25 05:21:04

您可以使用 plotlines 命令来完成此操作:

x <- 1:10
y1 <- 1:10
y2 <- 0.5 * y1

#Set up the plot
plot(range(x),range(c(y1,y2)),type="n")
#Create the lines
lines(x,y1)
lines(x,y2)

You can do this using the plot and lines commands:

x <- 1:10
y1 <- 1:10
y2 <- 0.5 * y1

#Set up the plot
plot(range(x),range(c(y1,y2)),type="n")
#Create the lines
lines(x,y1)
lines(x,y2)
故事和酒 2024-11-25 05:21:04

@joran 的建议是一个很好的建议。另一种选择是在绑定 y 值之后使用 matplot(使用 @joran 的示例):

matplot(x, cbind(y1, y2))

这具有不必自己查找范围和类似内容的额外优势。

检查 ?matplot 有很多选项。

@joran's suggestion is a good one. Another option is to use matplot after cbinding the y-values (working on @joran's example):

matplot(x, cbind(y1, y2))

This has the added advantage of not having to find ranges and similar yourself.

Check ?matplot for lots of options.

同尘 2024-11-25 05:21:04

如果 b 和 c 是矩阵列,也可以使用 matplot (以及用于添加更多行的 matlines):

a <- 1 : 10
bc <- matrix (c (a, a / 2), ncol = 2)

matplot (a, bc, type = "l")

If b and c are matrix columns, matplot (and matlines for adding further lines) can be used, too:

a <- 1 : 10
bc <- matrix (c (a, a / 2), ncol = 2)

matplot (a, bc, type = "l")
网白 2024-11-25 05:21:04

ggplot2 通过将 data.frame 中的列映射到美学来轻松支持这一点。我发现使用 reshape(2) 中的 melt 来为这些任务生成适当格式的数据是最简单的。 ggplot 处理设置颜色、定义适当的图例以及许多其他有时使绘图变得烦人的细节。例如:

library(ggplot2)
dat <- melt(data.frame(x = x, y1 = y1, y2 = y2), id.vars = "x")
ggplot(dat, aes(x, value, colour = variable)) + geom_line()

ggplot2 easily supports this by mapping columns in a data.frame to aesthetics. I find it easiest to use melt from reshape(2) to generate data in the appropriate format for these tasks. ggplot handles setting the colours, defining an appropriate legend, and lots of the other details that make plotting annoying at times. For example:

library(ggplot2)
dat <- melt(data.frame(x = x, y1 = y1, y2 = y2), id.vars = "x")
ggplot(dat, aes(x, value, colour = variable)) + geom_line()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文