2009-12-09 3 views
7

У меня есть несколько наборов xy пар, которые я хочу построить. Я хочу, чтобы каждый набор xy-пар соединялся линией. Другими словами, цель состоит в том, чтобы иметь несколько экспериментальных экземпляров, каждый из которых аппроксимируется линией, построенной на одном графике. Также как бы я покрасил линии по-разному?Участок множественных множеств точек в R

Функция сюжет делает то, что я хочу, но берет на себя один набор ХУ пар: plot(x, y, ...)

Может ли эта функция быть сделано, чтобы взять несколько наборов или есть другая функция для этого?

ответ

9

Чтобы сделать это с помощью обычной команды построения графика, я обычно создавал бы один график, а затем добавлял бы больше строк, используя функцию lines().

В противном случае вы можете использовать решетку или ggplot2. Вот некоторые данные:

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

Вы можете использовать xyplot() из решетки:

Или geom_line() в ggplot2:

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

Вот еще один пример в том числе точек на каждой паре (с this post on the learnr blog):

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") 
+0

Я получаю сообщение об ошибке: Ошибка: не удалось найти функцию «dotplot» Мне нужно кое-что из CRAN использовать это делать? – hekevintran

+0

Хорошо, теперь я вижу, как звонит библиотека. Спасибо за Ваш ответ! – hekevintran