如何根据加起来等于条形总长度的两个变量为两色调条形图着色?

问题描述 投票:0回答:1

对于这个令人困惑的标题,我深表歉意 - 我不太确定如何表达我想要的内容。

我正在处理的数据集是我根据主要数据创建的子数据集。它看起来像这样:

类型 平均收入 平均预算 男性格罗辛
家人 1097910750 188821479 292776200
行动 1374979940 184161982 511320665

还有其他 16 行,但这只是我的数据集的一小部分。男性票房是针对每种类型进行计算的。我将添加另一个计算 Femalegrossing 的变量 - 我知道如何做到这一点。

到目前为止,我正在使用的当前数据集是通过重复以下代码并针对每种类型进行“cbind”获得的。我使用的原始数据存在问题,这是我们可以使用它而不是反对它的唯一方法。

genre = "Animation", raw_data %>% filter(Animation == 1) %>% summarise(meangross = mean(InflatedGross),meanBudget = mean(InflatedBudget), Malegross = ((mean(Proportion_male))*meangross)))

变量 Malegrossing 和 Femalegrossing 的相加将始终等于meanGrossing。

我想以这样的方式呈现信息:

Y axis is meangross. X axis is each genre category. Each bar graph is composed of two colors, blue and pink totaling up to the meangross showing how much they each make up the entire grossing.

如果需要更多说明,请告诉我。

r ggplot2 histogram
1个回答
0
投票

与 stefan 所说的类似,如果您可以将maleGross 和femaleGross 重新排列为单个列向量中的因子,也许可以做类似的事情:

ggplot(yourData, aes(x=genre, y=meangross, fill=GenderGross)) + 
geom_bar(stat="identity") + 
scale_fill_manual(values = c("pink", "blue"))

您可能需要根据其余数据的结构调整颜色顺序,但是一旦重新排列数据,就可以在scale_fill_manual向量中切换顺序。

© www.soinside.com 2019 - 2024. All rights reserved.