[R] Control of x-axis variable ordering in ggplot

sbihorel Sebastien.Bihorel at cognigencorp.com
Fri Oct 23 13:22:10 CEST 2015


Hi,

I want to thank Jeff, Dennis, c06n, and Hadley for their replies and 
explanations. As you probably guessed, I am fairly new to ggplot am 
trying to loose my lattice reflex while transitioning to ggplot.

Thank for the link to the ggplot external documentation.

Sebastien

On 10/23/2015 7:15 AM, Hadley Wickham wrote:
> You have two problems:
>
> * geom_line() always draws from right-to-left
> * you're defining colour outside of the plot in a very non-ggplot2 way.
>
> Here's how I'd do it:
>
> library(ggplot2)
> data <- data.frame(
>    x = rep(1:4, each = 25),
>    y = rep(1:25, times = 4),
>    g = rep(1:4, each = 25)
> )
> data$x <- data$x + 0.005 * data$y ^ 2 - 0.1 * data$y + 1
>
> ggplot(data, aes(x, y, colour = factor(g))) +
>    geom_point() +
>    geom_path()
>
>
> Alsonotethatcodeismucheasiertoreadifyouusespaces;)
>
> Hadley
>
> On Thu, Oct 22, 2015 at 8:46 PM, sbihorel
> <Sebastien.Bihorel at cognigencorp.com> wrote:
>> Hi,
>>
>> Given a certain data.frame, the lattice xyplot function will plot the data
>> as.is and join the data point in the order of the data frame. It is my
>> (probably flawed) understanding that, using the same data frame, ggplot
>> orders the data by increasing order of the x-axis variable. Can one control
>> this behavior?
>>
>> Thanks
>>
>> Sebastien
>>
>> Code example
>>
>> library(lattice)
>> library(ggplot2)
>>
>>
>> data <- data.frame(x=rep(1:4,each=25),
>>                     y=rep(1:25,times=4),
>>                     g=rep(1:4,each=25))
>> data$x <- data$x + 0.005*(data$y)^2-0.1*data$y+1
>>
>> col <- 3:7
>>
>> xyplot(y~x,data=data,groups=g,type='l',col=col)
>>
>> ggplot(data, aes(x,y,group=g)) + geom_point(colour=col[data$g]) +
>>    geom_line(colour=col[data$g])
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
>

-- 
Sebastien Bihorel
Cognigen Corporation
(t) +1 716 633 3463 ext 323
Cognigen Corporation, a wholly owned subsidiary of Simulations Plus, Inc.


More information about the R-help mailing list