[R] ggplot2 geom_bar arrangement

Brian Smith bsmith030465 at gmail.com
Wed Jun 28 00:20:39 CEST 2017


Thanks Jean, that worked!

On Tue, Jun 27, 2017 at 3:58 PM, Adams, Jean <jvadams at usgs.gov> wrote:

> You just have to change the levels of the factor ...
>
> library(ggplot2)
>
> Lab = c(letters[4:6], letters[1:3])
> valuex = c(3.1,2.3,0.4,-0.4,-1.2,-4.4)
> df <- data.frame(Lab,valuex)
>
> # set the factor levels to the same order as observed in the data frame
> df$Lab <- factor(df$Lab, levels=unique(df$Lab))
>
> px <- ggplot(df,aes(Lab,valuex,label=Lab)) +
>   geom_text(aes(y=0)) +
>   geom_bar(stat = "identity")
> px
>
> Jean
>
> On Tue, Jun 27, 2017 at 1:43 PM, Brian Smith <bsmith030465 at gmail.com>
> wrote:
>
>> Hi,
>>
>> I was trying to draw a geom_bar plot. However, by default, the bars are
>> arranged according to the label, which I don't want. I want the bars to
>> appear exactly as they appear in the data frame. For example in the code:
>>
>>  Lab=c(letters[4:6],letters[1:3])
>>  valuex = c(3.1,2.3,0.4,-0.4,-1.2,-4.4)
>>  df <- data.frame(Lab,valuex)
>>  px <- ggplot(df,aes(Lab,valuex,label=Lab)) + geom_text(aes(y=0)) +
>> geom_bar(stat = "identity")
>>  px
>>
>>
>> The default arranges the bars in order 'a' through 'f', but I want them
>> arranged as per df.
>>
>> How can I do this?
>>
>> thanks!
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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/posti
>> ng-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list