【问题标题】:Filled matrix plot with stacked barplot ggplot?用堆叠的条形图ggplot填充矩阵图?
【发布时间】:2019-03-14 02:28:17
【问题描述】:

我想在矩阵内堆积条形图。我应该和ggplot一起去吗?

我的数据如下所示:

我想在每个矩阵中都有条形图。不是这样的

My data looks like this

ggplot(data = data1,
       aes(x = Var1, y = Var2, fill = value)) + 
  geom_tile()

Stacked barplot for every matrix here

结果如下: 每个变量都将用作矩阵内的条形图 Result

【问题讨论】:

  • 请提供一个可重现的例子。根据您想要创建的内容,您可以使用 ggplot,但您缺少 geom_bar() 来创建条形图(条形图默认堆叠)和 facet_wrap( ~ -插入您的矩阵创建标识符-)。见t-redactyl.io/blog/2016/01/…stackoverflow.com/questions/14446160/…
  • 嗨,我刚刚更新了我想要的结果。
  • 另外,为了帮助我们更好地回答您的问题,请将您的数据包含在我们可以复制的结构中(请参阅stackoverflow.com/questions/5963269/…)并嵌入您的图片,而不是将它们作为链接包含在内。
  • 嗨,本,感谢您提供的信息。下次我会这样做,我仍然需要更多的声誉来嵌入图像。谢谢

标签: r matrix ggplot2 stacked-chart


【解决方案1】:

这是我的解决方案。我想这就是你要找的。​​p>

library(ggplot2)

# data
x <- data.frame(Var1=rep(c(rep("A",3), rep("B",2), "C"),3),
            Var2=rep(c("A","B","C","B","C","C"),3),
            variable=rep(c("part1","part2","part3"), each=6),
            value=c(40.6,34.7,42.6,32.2,43.7,45.1,38.8,30.8,41.7,
                    29.4,40.4,42.2,20.6,34.5,15.7,38.4,15.9,12.7))

# plot
ggplot(x, aes(x=1,y=value, fill=variable))+
  geom_bar(stat="identity", width=1, position="stack")+
  facet_grid(Var1~Var2)+

# remove unwanted information
  theme_classic()+
  theme(axis.title=element_blank(), 
        axis.line=element_blank(),
        axis.ticks=element_blank(), 
        axis.text=element_blank(),
        plot.background = element_blank(), 
        plot.title=element_blank(),
        strip.background = element_blank())

【讨论】:

    【解决方案2】:

    根据您的问题,很难准确理解您要做什么,但这里有一个简单的脚本可以帮助您入门。我猜你想按变量分割矩阵?如果不是,请相应调整。

    p<-ggplot(data = data, aes(x=Var1, y=Var2, fill=value)) + geom_bar()
    p + facet_grid(. ~ variable)
    

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 2018-04-01
      • 1970-01-01
      • 2022-11-23
      • 2015-10-14
      • 2013-03-03
      • 2020-10-06
      • 1970-01-01
      • 2021-11-16
      相关资源
      最近更新 更多