Reproducibility == good (except for mixing in invalid code and failing to
set RNG seed)
HTML email == bad
Missing subject == bad
Using matrices with ggplot == pushing a rope
Using for loops to build a ggplot == missing the point
Using wide-form data with ggplot == pushing a rope
Study the following (the str() function is your friend, and learning how
factors work will help you map colors where you want them in more
complicated examples):
library(ggplot2)
library(reshape2)
set.seed(42)
xaxis <- rnorm( 30 ) + 10
mydata <- replicate( 9, rnorm( 30 ) + 20 )
mydf <- data.frame( xaxis=xaxis, mydata )
colour_scheme <- rainbow( ncol( mydata ) )
mydf.long <- melt( mydf, id.vars="xaxis" )
ggplot( mydf.long, aes( x=xaxis, y=value, color=variable ) ) +
geom_line() +
scale_colour_manual( values=colour_scheme, guide=FALSE )
On Tue, 24 Jun 2014, Zayd Farah wrote:
I hope the following script is reproducible enough to highlight my issue,
which is to automatically (in this case by loop, but it does not
necessarily have to be by a loop) add geom_line layers for each column of
mydata to the ggplot variable p1. for some reason doing this only works by
manually adding each layer:
library(ggplot2)
library(gtable)
#creates set of reproducible data
xaxis<-rnorm(30)+10
xaxis
mydata<-replicate(9, rnorm(30)+20)
#creates a matrix of colors to identify each line on the final plot of
#each column of mydata
colour_scheme<-palette(rainbow(dim(mydata)[2]))
# Main scatterplot
p1 <- ggplot(NULL)
#ideal code that would create a geom_line layer for each column of mydata
vs. xaxis
for (i in 1:dim(mydata)[2])
{
p1=p1+geom_line(aes(xaxis,mydata[,i]),colour=colour_scheme[i])
}
p1
#run the following code to see what it SHOULD look like:
p1 <- ggplot(NULL)
p1=p1+geom_line(aes(xaxis,mydata[,1]),colour=colour_scheme[1])
p1=p1+geom_line(aes(xaxis,mydata[,2]),colour=colour_scheme[2])
p1=p1+geom_line(aes(xaxis,mydata[,3]),colour=colour_scheme[3])
p1=p1+geom_line(aes(xaxis,mydata[,4]),colour=colour_scheme[4])
p1
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.