R ggplot中的多变量条形图

时间:2018-03-21 23:18:44

标签: r ggplot2 bar-chart data-visualization

我的数据表如下所示:

table_name   expected_value  observed_value   
   <chr>          <dbl>          <dbl>  

 1 table1       95237608       95100229  
 2 table2        3014052        3014052     
 3 table3        3024749        3024749  

我想创建一个多变量条形图来比较每个表的expected_valueobserved_value

看起来像这样:

example

1 个答案:

答案 0 :(得分:0)

首先在ggplot中这样做你必须将格式从宽变为长,(tidyr :: gather)然后你映射美学(选择要映射的变量),最后你必须使用stat“identity”而不是默认的“计数”,

library(ggplot2)
library(tidyr)
library(dplyr)
df <- data.frame(table_name =c("a", "b","c"), expected=runif(3), observed=runif(3))
gather(df, key, value, -table_name) %>% ggplot(aes(table_name, value, fill=key)) + geom_bar(stat="identity", position="dodge")

enter image description here