Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用堆叠条形图填充矩阵图ggplot?_R_Matrix_Ggplot2_Stacked Chart - Fatal编程技术网

R 用堆叠条形图填充矩阵图ggplot?

R 用堆叠条形图填充矩阵图ggplot?,r,matrix,ggplot2,stacked-chart,R,Matrix,Ggplot2,Stacked Chart,我想在矩阵内部有堆叠的条形图。我应该和你一起去吗 我的数据如下所示: 我想在每个矩阵中都有条形图。不是这样的 结果如下: 每个变量都将用作矩阵内的条形图 从你的问题来看,要准确理解你想做什么有点困难,但这里有一个简单的脚本可以帮助你开始。我猜你想用变量分割矩阵?如果没有,则进行相应调整 p<-ggplot(data = data, aes(x=Var1, y=Var2, fill=value)) + geom_bar() p + facet_grid(. ~ variable) p这

我想在矩阵内部有堆叠的条形图。我应该和你一起去吗

我的数据如下所示:

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

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

从你的问题来看,要准确理解你想做什么有点困难,但这里有一个简单的脚本可以帮助你开始。我猜你想用变量分割矩阵?如果没有,则进行相应调整

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

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())
库(ggplot2)
#资料

请提供一个可复制的示例。根据您想要创建的内容,您可以使用ggplot,但是您缺少创建条形图(默认情况下,条形图是堆叠的)和
facet\u wrap(~
-插入矩阵创建标识符-
)。请参阅和。嗨,我刚刚更新了我想要的结果。另外,为了帮助我们更好地回答您的问题,请将您的数据包含在一个我们可以复制(请参阅)和嵌入您的图像的结构中,而不是将其作为链接。嗨,本,感谢您提供的信息。下一次我会这么做,我仍然需要更多的声誉来美化形象。谢谢
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())