用堆叠的barplot ggplot填充的矩阵图?

时间:2018-10-09 10:29:47

标签: r matrix ggplot2 stacked-chart

我想在矩阵内部堆积条形图。我应该和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

2 个答案:

答案 0 :(得分:1)

根据您的问题,确切了解您要执行的操作有些困难,但这是一个简单的脚本,可以帮助您入门。我猜想您要按变量划分矩阵吗?如果不是,请进行相应调整。

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

答案 1 :(得分:1)

这是我的解决方案。我想这就是您想要的。

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())
相关问题