[R] Can this be done in ggplot?
Kenneth Roy Cabrera Torres
krcabrer at une.net.co
Sat Apr 15 04:40:00 CEST 2017
A very dirty solution.
I hope someone can give a better solution:
library(ggplot2)
set.seed(1)
df <- expand.grid(g = factor(1:4), f = factor(c("a", "b", "c")))
df <- df[-1, ] # some factors are not present in certain groups
df$v <- runif(nrow(df))
library(dplyr)
df <- df %>% arrange(g, desc(v))
df$nv <- with(df, factor(paste(g,f)))
df$nv <- factor(df$nv, levels = df$nv)
ggplot(df, aes(x = nv , y = v, fill = f)) +
geom_bar(position="dodge", stat = "identity")
El 14/04/17 a las 10:08, Axel Urbiz escribió:
> Hi,
>
> I need to bars to display in order based on the values of "v" within each
> group "g". Is this possible?
>
> library(ggplot2)
> set.seed(1)
> df <- expand.grid(g = 1:4, f = factor(c("a", "b", "c")))
> df <- df[-1, ] # some factors are not present in certain groups
> df$v <- runif(nrow(df))
>
> ggplot(df, aes(x = g, y = v, fill = f)) +
> geom_bar(position="dodge", stat = "identity")
>
> Thanks,
> Axel.
>
> [[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