[R] ggplot2 geom_bar arrangement

Adams, Jean jvadams at usgs.gov
Tue Jun 27 21:58:00 CEST 2017


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/
> posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list