In the general case it is not possible to do as you ask because "Lab" can be
duplicated. However, in your specific case it is unique in your data frame, so
you just have to control the order of the factor labels instead of letting them
be set up in the default manner. Of course, you have to be a
The order the bars are plotted in is determined by the levels in a factor, and
your labels are treated as a factor. You can make sure you keep the order of
your labels by simply doing this:
Lab <- factor(Lab, levels = Lab)
before constructing the data frame.
Cheers
On 27 Jun 2017, 20.43 +0200
Thanks Jean, that worked!
On Tue, Jun 27, 2017 at 3:58 PM, Adams, Jean 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
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))
p
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)
5 matches
Mail list logo