Question: geom_bar plot with several variables
1
gravatar for jordi.planells
10 weeks ago by
jordi.planells70 wrote:

Hi all, I need your help. I am struggling on getting a bar plot with ggplot2 package.

Imagine I have 3 different variables (which would be my y values in aes) that I want to plot for each of my samples (x aes):

 str(df) 
'data.frame':   4 obs. of  4 variables:
 $ samples: Factor w/ 4 levels "S1","S2","S3",..: 1 2 3 4
 $ v1     : int  234 189 167 235
 $ v2     : int  345 265 235 254
 $ v3     : int  54 48 32 645

I would like to have a barplot in which I have a group per sample (4), each of them with 3 bars, one for each variable (12 bars in total). I know that if I want to extract the height from the df I have to call for stat = "identity". So far this has been my guess, but it's not working properly:

n <- ggplot(df) + 
  geom_bar(mapping = aes(x = samples, y = v1), stat = "identity", position = "dodge") + 
  geom_bar(mapping = aes(x = samples, y = v2), stat = "identity", position = "dodge") +
  geom_bar(mapping = aes(x = samples, y = v3), stat = "identity", position = "dodge")

Could you please help me?

Thanks before hand

ggplot2 R • 359 views
ADD COMMENTlink written 10 weeks ago by jordi.planells70
2
gravatar for cpad0112
10 weeks ago by
cpad011211k
India
cpad011211k wrote:

with iris data : 4 observation of 4 variables:

data(iris)
library(ggplot2)
library(tidyr)

iris %>%
  gather("Type", "Value",-Species) %>%
  ggplot(aes(Species, Value, fill = Type)) +
  geom_bar(position = "dodge", stat = "identity") +
  theme_bw()

Rplot

Separate boxes for each species:

iris %>%
  gather("Type", "Value",-Species) %>%
  ggplot(aes(Species, Value, fill = Type)) +
  geom_col(position = "dodge") +
  theme_bw()+
  facet_wrap(~Species,scales = "free_x")

Rplot01

input (for one species, likewise for rest two species):

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
ADD COMMENTlink modified 10 weeks ago • written 10 weeks ago by cpad011211k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 2052 users visited in the last hour