【发布时间】:2011-08-15 18:33:15
【问题描述】:
我的数据如下所示:
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
将 Title 添加到 Row 字段并将 Sum(Value) 添加到 Size 架子,我得到一个水平条形图,其中条形的长度等于给定标题的值的总和。例如,一个标有 Name1 且长 9 个单位的条,另一个标有 Name2 且长 10 个单位的条,等等。我想给条着色,以便给定子类别对条长度的贡献被绘制在酒吧。因此,Name1 条将有一个 2 个单位长的蓝色条堆叠在一个 7 个单位长的红色条上。名称 2 条将有一个 5 个单位长的蓝色条堆叠在一个 5 个单位长的橙色条上。
但是,当我将子类别添加到颜色架时,比例会发生变化,因此条形的长度现在等于子类别的最大值,而其他值不是堆叠,而是叠加。我没有将 2 个单位的蓝色条堆叠在 7 个单位的红色条上,总长度为 9,而是得到一个由 7 个单位组成的条,其中 2 个单位涂成蓝色。
这将解释从“具有最高值的类别是什么(以及子类别对此有何贡献)?”到“子类别最高的类别是什么?”因为现在 Name1 条现在是 7 个单位,而 Name2 条现在只有 5 个单位长,你看不到其他颜色。
请告诉我是否有办法在 Tableau 中执行此操作,或者如果您是 ggplot2 向导,我很乐意使用 R 代码来执行此操作。
【问题讨论】:
-
是“尺寸架子”和“颜色架子”的画面术语吗?
-
stackoverflow.com/questions/2578961/… OP 概述了如何创建 100% 堆叠条
-
是的,这些是特定于 Tableau 的术语。我不是特别喜欢 Tableau 界面,但如果您的数据符合他们的模型,它确实会制作一些非常漂亮的图表。
-
知道了——我花了一分钟才弄清楚你需要什么,但我知道了,正如我们给你两个几乎相同的答案的 rcs 一样。我相信
position = stack是geom_bar的默认值。至于长标题,您可以手动插入一些\n以强制它们以给定的宽度换行和/或考虑调整轴的角度以适应您的目的。但是,如果您将条形重新定向为垂直方向,那可能会更好。无论如何 - 编辑这些东西的代码是:opts(axis.text.x = theme_text(angle = 90)。祝你好运。
标签: r visualization ggplot2 tableau-api stackedbarseries