我的目标是从矩阵中创建一个堆叠在R中的条形图,其中矩阵中的每一列都是具有不同颜色的条形图,每个条形图表示该列中所有行的总和。
下面是我用来排除故障的虚拟数据和条形图脚本:
m = matrix(1:9, ncol = 3, byrow = TRUE)
v = matrix(c("red", "blue", "green"), ncol=3, nrow=3, byrow=TRUE)
m #matrix of values
v #matrix of colors for each point
如果仅绘制第1行,则颜色分配正确
barplot(m[1,
我想从快速R中创建一个像下面的代码那样的堆叠条形图:
# Stacked Bar Plot with Colors and Legend
counts <- table(mtcars$vs, mtcars$gear)
barplot(counts, main="Car Distribution by Gears and VS",
xlab="Number of Gears", col=c("darkblue","red"),
legend = rownames(counts))
然而,我不想用颜色来遮荫堆叠,我想用物体填充它
我有以下数据集:
SessionId Query
1 a
1 b
2 a
3 b
3 b
3 c
3 a
我想要显示一个堆叠的条形图,其中每个会话都有一个条形图,该条形图将包含每个查询的不同颜色,堆叠的大小将是每个会话中查询数量的大小。
我试过这样的方法:
result = data.groupby('SessionId').apply(
lambda group: (
我下面有一个堆叠的酒吧地皮:-
这是使用以下方法生成的:
b = barh(1:3,rand(3,2),'stacked');
现在我有了一个3x2单元C,每个单元元素都是一个1x3RGB数组。
C = cell(3,2);
for i = 1:3
for j = 1:2
C{i,j} = rand(1,3);
end
end
图中有6个方框和6个相应的颜色。我想在方框中填充这些指定的颜色。我想用这个方法:
b(1).Parent.Parent.Colormap = C;
..。但这不起作用。
有人能建议如何使用控制每个条形段颜色的能力来绘制自定义的堆
是否有办法让用户打开/关闭条形图上的颜色分解?我的想法就像一个切片机,但只是为了让条子由产品着色,而不是对一个产品进行实际过滤。
我的用户说,当没有颜色的时候,他们会发现看完整的总数更容易,但是他们仍然希望看到分割成一个堆叠的条形图。现在,我有两个版本的几个条形图,这是非常浪费空间。
用于制作图表的数据如下:
Product Sales
a 2
b 4
c 3