Построение многовариантных кривых в R - PullRequest
0 голосов
/ 04 июля 2011

Мне нужно построить несколько кривых на одном графике в R, например (a, b) и (a, c) на одном графике, где a, b и c - векторы данных.Кто-нибудь знает, как это сделать?Спасибо.

Чэн

Ответы [ 4 ]

3 голосов
/ 04 июля 2011

Это можно сделать с помощью команд plot и lines:

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)
2 голосов
/ 04 июля 2011

ggplot2 легко поддерживает это, сопоставляя столбцы в data.frame с эстетикой. Я считаю, что проще всего использовать melt из reshape (2) для генерации данных в соответствующем формате для этих задач. 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()
2 голосов
/ 04 июля 2011

Если b и c - столбцы матрицы, можно использовать matplotmatlines для добавления дополнительных строк):

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

matplot (a, bc, type = "l")
2 голосов
/ 04 июля 2011

@ Предложение Джорана хорошее.Другой вариант - использовать matplot после связывания значений y (работает на примере @ joran):

matplot(x, cbind(y1, y2))

Это дает дополнительное преимущество, так как вам не нужно находить диапазоны и подобные им самим.

Проверьте ?matplot для множества вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...