2009-12-09 25 views
7

Ho più serie di coppie xy che desidero stampare. Voglio che ogni serie di coppie xy sia collegata da una linea. In altre parole, l'obiettivo è di avere più istanze sperimentali ciascuna approssimata da una linea tracciata su un grafico. Inoltre, come colorerei le linee in modo diverso?Tracciare più insiemi di punti in R

La funzione plot fa quello che voglio, ma assume una serie di coppie xy: plot(x, y, ...)

Può questa funzione essere fatto per prendere più set o c'è un'altra funzione per questo?

risposta

9

Per fare ciò con il normale comando di stampa, di solito creo un grafico e quindi aggiungo più righe utilizzando la funzione lines().

Altrimenti è possibile utilizzare reticolo o ggplot2. Ecco alcuni dati:

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

È possibile utilizzare xyplot() dal reticolo:

O geom_line() in ggplot2:

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

Ecco un altro esempio tra cui punti ad ogni coppia (da 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)") 

E la stessa trama con 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

sto ottenendo un errore: Errore: impossibile trovare la funzione "grafico a punti" Ho bisogno di qualcosa da CRAN di utilizzare questo? – hekevintran

+0

Ok, vedo le chiamate della biblioteca ora. Grazie per la tua risposta! – hekevintran

Problemi correlati