我正在尝试使用geom_bar
和position = "dodge"
绘制钻石的比例。这就是我所做的。
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut))
下面的图片告诉我每种cut
类型有多少颗钻石。
现在让我们做一些奇特的事。
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")
下面的图片按每个clarity
类型的cut
分组钻石计数。
我想做的是获得与上面相同的躲闪情节,但显示比例而非计数。
例如,对于cut=ideal
和clarity = VS2
,比例应为5071/21551 = 0.23
。
答案 0 :(得分:2)
你可以尝试
library(tidyverse)
diamonds %>%
count(cut, clarity) %>%
group_by(cut) %>%
mutate(Sum=sum(n)) %>%
mutate(proportion = n/Sum) %>%
ggplot(aes(y=proportion, x=cut,fill=clarity)) +
geom_col(position = "dodge")
答案 1 :(得分:-1)
创建一个具有正确百分比的列(名为“percentage”),然后使用
require(ggplot2)
require(scales)
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, y = percentage, fill = clarity), position = "dodge") +
scale_y_continuous(labels = scales::percent)
您也可以像Maurits Evers所建议的那样计算内联百分比。