我的数据如下:
Subcategory Title Value
Sub1 Name1 2
Sub1 Name2 5
Sub2 Name3 4
Sub2 Name4 1
Sub3 Name5 2
Sub3 Name6 7
Sub4 Name1 7
Sub4 Name2 5
Sub5 Name3 4
Sub5 Name4 3
Sub6 Name5 9
Sub6 Name6 1
将“标题”添加到“行”字段并将“总和”(“值”)添加到“大小”功能区,我得到一个水平条形图,其中条形图的长度等于给定标题的值的总和。例如,标记为Name1且长度为9个单位的条形图,另一个标记为Name2且长度为10个单位的条形图等。我想为条形图着色,使得给定子类别对条形长度的贡献被绘制在酒吧。因此,Name1条将有一个2个单位长的蓝色条,堆叠在一个7个单位长的红色条上。名称2栏将有一个蓝色条,长5个单位堆叠在一个5个单位长的橙色条上。
但是,当我将子类别添加到颜色架子时,比例会发生变化,以使条形的长度现在等于子类别的最高值,而其他值不会叠加,而是叠加。而不是将一个2单位的蓝色条堆叠在一个7单位的红色条上,总长度为9,我得到一个7个单位的条形图,其中2个单位涂成蓝色。
这改变了“具有最高值的类别是什么(以及子类如何对此做出贡献)的解释?”到“具有最高子类别的类别是什么?”因为现在Name1栏现在是7个单位,而Name2栏现在只有5个单位,你看不到另一种颜色。
如果有办法在Tableau中执行此操作,请告诉我,或者如果您是ggplot2向导,我很乐意使用R代码执行此操作。
答案 0 :(得分:2)
检查一下,但我不确定着色是否正确:
library("ggplot2")
p <- ggplot(data=dat, aes(x=Title, y=Value, fill=Subcategory)) +
geom_bar(position="stack", stat="identity") +
coord_flip()
print(p)
答案 1 :(得分:1)
这应该在ggplot中做你想要的:
ggplot(dat, aes(x = Title,y = Value, fill = Subcategory)) +
geom_bar(stat = "identity") +
coord_flip()
答案 2 :(得分:1)
在Tableau中,将标题放在行上,将值放在列上,将子类别放在颜色上。
我在Tableau Public上添加了一个示例 - http://public.tableausoftware.com/views/QuantitativeStackedBars/Sheet1?:embed=y