【问题标题】:ggplot multiple grouping barggplot多个分组条
【发布时间】:2013-06-22 14:50:30
【问题描述】:

我想知道如何将 9 个分组条形图 (3x3) 组合在一起。

我的 CSV:data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")

这 9 个地块应该按照“类型”A 到 I 分组。

那么每个分组的条形图应该在y轴上有频率,x轴按1 pce到6 pce分组并按年份细分。

我在 Excel 上有以下示例(参见图像),并希望使用 ggplot 在 r 上创建相同的结果。有可能吗?

谢谢

【问题讨论】:

    标签: r ggplot2 grouping bar-chart


    【解决方案1】:

    首先,将数据从宽格式改成长格式。

    library(reshape2)
    df.long<-melt(df,id.vars=c("ID","Type","Annee"))
    

    接下来,在导入数据的过程中,字母 X 被添加到以数字开头的变量名称中,使用 substring() 将其删除。

    df.long$variable<-substring(df.long$variable,2)
    

    现在使用 variable 作为 x,value 作为 y,Annee 作为填充,geom_bar() 获得条形图。使用facet_wrap(),您可以按Type 拆分数据。

    ggplot(df.long,aes(variable,value,fill=as.factor(Annee)))+
       geom_bar(position="dodge",stat="identity")+
       facet_wrap(~Type,nrow=3)
    

    【讨论】:

    • 您好,谢谢,这令人印象深刻,但在我这边,我收到一条错误消息,指出布局基础错误(数据,变量,下降 = 下降):至少一层必须包含用于构面的所有变量
    • @Swiss12000 您使用代码的方式与我的代码完全相同吗?如果没有,请添加您在问题中使用的代码。
    • 确实我需要一个错误是完美的工作感谢您的帮助。我有 R Graphics Cookbook 来学习 ggplot,但他们没有提到如何制作更复杂的图形。你是每天学一点 ggplot 还是读过高级书籍?
    • @Swiss12000 我在 SO 上通过阅读和回答问题来学习
    • 我发现这个关于熔化的文档很有用:cookbook-r.com/Manipulating_data/…
    【解决方案2】:

    使用@Didzis 重塑数据,这里是格子版本:

    barchart(value~variable|Type,
             groups=Annee,data=df.long,layout=c(3,3),
             between=list(3,3),
             axis=axis.grid,
             auto.key=TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 2022-01-14
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多