【发布时间】:2017-05-31 23:38:47
【问题描述】:
我正在尝试在 ggplot 中创建一个分组条形图,其中每个 x 值应该有 4 个条形图。这是我的数据的一个子集(实际数据大约长 4 倍):
Verb_Type,Frame,proportion_type,speaker
mental,V CP,0.209513024,Child
mental,V NP,0.138731597,Child
perception,V CP,0.017167382,Child
perception,V NP,0.387528402,Child
mental,V CP,0.437998087,Parent
mental,V NP,0.144086707,Parent
perception,V CP,0.042695836,Parent
perception,V NP,0.398376853,Parent
我想要的是将 Frame 绘制为 x 值,将 ratio_type 绘制为 y 值,但条形图基于 Verb_Type 和扬声器。因此,对于每个 x 值(帧),将有 4 个条形图组合在一起 - 每个条形图对应于mental~child、mental~parent、perception~child、perception~parent 的 ratio_type 值。我需要填充颜色基于 Verb_Type,填充“纹理”(饱和度或其他东西)基于扬声器。我确实不想要堆叠条形,因为它不能准确地表示数据。
我不想使用分面网格,因为我发现将所有 4 个条分成 2 组时在视觉上很难比较它们。我想将所有的条组合在一起,以便可视化更容易。但我不知道如何进行适当的分组。这是我可以在 ggplot 中做的事情,还是我需要在绘图之前操作数据?我尝试使用 melt 来重塑数据,但要么我做错了,要么这不是我真正应该做的。
【问题讨论】: