Hello everyone I have some data of the following type. 100 200 300 400 500 1.1 1.2 1.3 1.4 1.5 600 700 800 900 1000 1.5 1.7 1.9 2.0 2.4 With plot() and points functions I can plot these 4 lines of data. But I dont know how to do it with qplot or ggplot functions. The scenario is something like this: the hundreds should appear on x-axis and the fractional values of y axis. Thanks alot. MEMON Abdul Wahid
plotting multiple lines on single graph ggplot2
5 messages · Abdul Wahid Memon, John Kane, Ben Bolker
There are probably lots of better aproaches but this seems to work. I just combined the lines into one vector and assighed a dummy variable to mark the diffferent lines
ibrary(ggplot2)
mydata <- data.frame(xrange <- c(100, 200, 300, 400, 500, 600,
700, 800, 900, 1000),
yrange = c( 1.1, 1.2, 1.3, 1.4, 1.5, 1.5, 1.7, 1.9, 2.0, 2.4),
mark = c(rep("a",5), rep("b", 5)))
p <- ggplot(mydata, aes( xrange, yrange, colour= mark))
p <- p + geom_line()
p
--- On Mon, 11/28/11, Abdul Wahid Memon <engrwahidmemon at gmail.com> wrote:
From: Abdul Wahid Memon <engrwahidmemon at gmail.com> Subject: [R] plotting multiple lines on single graph ggplot2 To: r-help at r-project.org Received: Monday, November 28, 2011, 9:35 AM Hello everyone I have some data of the following type. 100 200 300 400 500 1.1 1.2 1.3 1.4 1.5 600 700 800 900 1000 1.5 1.7 1.9 2.0 2.4 With plot() and points functions I can plot these 4 lines of data. But I dont know how to do it with qplot or ggplot functions. The scenario is something like this: the hundreds should appear on x-axis and the fractional values of y axis. Thanks alot. MEMON Abdul Wahid
______________________________________________ R-help at 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.
John Kane <jrkrideau <at> yahoo.ca> writes:
There are probably lots of better aproaches but this seems to work.
I just combined the lines into one vector
and assighed a dummy variable to mark the diffferent lines
ibrary(ggplot2)
mydata <- data.frame(xrange <- c(100, 200, 300, 400, 500, 600,
700, 800, 900, 1000),
yrange = c( 1.1, 1.2, 1.3, 1.4, 1.5, 1.5, 1.7, 1.9, 2.0, 2.4),
mark = c(rep("a",5), rep("b", 5)))
p <- ggplot(mydata, aes( xrange, yrange, colour= mark))
p <- p + geom_line()
p
Yes, or qplot(xrange,yrange,colour=mark,data="mydata") This was cross-posted to stack overflow: please don't crosspost. (I didn't understand the question until just now, it was simpler than I thought -- I thought the OP wanted *four* lines on the final plot (not "I have four lines of data").
Its very much simple. Simply, if we do like the following x<-c(100,200,300,400,500) y<-c(1.1, 1.2, 1.3, 1.4, 1.5) a<-c(600, 700, 800, 900, 1000) b<-(1.5, 1.7, 1.9, 2.1, 2.3) plot(x,y) points(a,b) As you can see the call to points() function will superimpose a new curve (with some new points on x-axis) on the existing plot. This is what I want to achieve with qplot or ggplot functions Regards
On Mon, Nov 28, 2011 at 5:31 PM, Ben Bolker <bbolker at gmail.com> wrote:
John Kane <jrkrideau <at> yahoo.ca> writes:
There are probably lots of better aproaches but this seems to work.
? I just combined the lines into one vector
and assighed a dummy variable to mark the diffferent lines
ibrary(ggplot2)
mydata <- data.frame(xrange <- c(100, 200, 300, 400, 500, 600,
? ? ? ? 700, 800, 900, 1000),
? ? ? ? yrange = c( 1.1, 1.2, 1.3, 1.4, 1.5, 1.5, 1.7, 1.9, 2.0, 2.4),
? ? ? ? mark = c(rep("a",5), rep("b", 5)))
p <- ggplot(mydata, aes( xrange, yrange, colour= mark))
p <- p + geom_line()
p
?Yes, or qplot(xrange,yrange,colour=mark,data="mydata") This was cross-posted to stack overflow: please don't crosspost. (I didn't understand the question until just now, it was simpler than I thought -- I thought the OP wanted *four* lines on the final plot (not "I have four lines of data").
______________________________________________ R-help at 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.
--- On Mon, 11/28/11, Abdul Wahid Memon <engrwahidmemon at gmail.com> wrote:
From: Abdul Wahid Memon <engrwahidmemon at gmail.com> Subject: Re: [R] plotting multiple lines on single graph ggplot2 To: "Ben Bolker" <bbolker at gmail.com> Cc: r-help at stat.math.ethz.ch Received: Monday, November 28, 2011, 11:56 AM Its very much simple. Simply, if we do like the following x<-c(100,200,300,400,500) y<-c(1.1, 1.2, 1.3, 1.4, 1.5) a<-c(600, 700, 800, 900, 1000) b<-(1.5, 1.7, 1.9, 2.1, 2.3) plot(x,y) points(a,b) As you can see the call to points() function will superimpose a new curve (with some new points on x-axis) on the existing plot. This is what I want to achieve with qplot or ggplot functions
Have you run that code? Unless you specify the xllm() values it does not work. As Ben Bolker and I point out the modified data.frame I supplied does work either with ggplot() or qplot()
Regards On Mon, Nov 28, 2011 at 5:31 PM, Ben Bolker <bbolker at gmail.com> wrote:
John Kane <jrkrideau <at> yahoo.ca>
writes:
There are probably lots of better aproaches but
this seems to work.
? I just combined the lines into one vector and assighed a dummy variable to mark the
diffferent lines
ibrary(ggplot2) mydata <- data.frame(xrange <- c(100, 200,
300, 400, 500, 600,
? ? ? ? 700, 800, 900, 1000), ? ? ? ? yrange = c( 1.1, 1.2, 1.3, 1.4, 1.5,
1.5, 1.7, 1.9, 2.0, 2.4),
? ? ? ? mark = c(rep("a",5), rep("b", 5)))
p <- ggplot(mydata, aes( xrange, yrange,
colour= mark))
p <- p + geom_line() p
?Yes, or
qplot(xrange,yrange,colour=mark,data="mydata")
This was cross-posted to stack overflow: please don't
crosspost.
(I didn't understand the question until just now, it
was simpler
than I thought -- I thought the OP wanted *four* lines
on the final
plot (not "I have four lines of data").
Same here for a while until I suddenly realised the x range did not make sense.