r - 如何使用以百分比计算的数字创建堆积条形图?
解决方案
ggplot2
使用和tidyverse
函数尝试这种方法。正如@r2evans提到的,请下次尝试使用数据创建一个可重现的示例。这里是代码。您需要计算标签的位置,然后草绘代码:
library(ggplot2)
library(dplyr)
library(tidyr)
#Code
df %>% pivot_longer(-Race) %>%
group_by(name) %>% mutate(Pos=value/sum(value)) %>%
ggplot(aes(x=name,y=value,fill=Race))+
geom_bar(stat = 'identity',position = 'fill')+
geom_text(aes(y=Pos,label=value),position = position_stack(0.5))+
scale_y_continuous(labels = scales::percent)
输出:
使用的一些数据:
#Data
df <- structure(list(Race = c("Caucasian/White", "African American",
"Asian", "Other"), `Clinic A` = c(374, 820, 31, 108), `Clinic B` = c(291,
311, 5, 15), `Clinic C` = c(330, 206, 6, 5), `Clinic D` = c(950,
341, 6, 13)), class = "data.frame", row.names = c(NA, -4L))
推荐阅读
- laravel - 为什么响应中的 CORS 错误 Access-Control-Allow-Credentials 标头是 ''?
- android - 错误状态: DocumentSnapshotPlatform 中不存在字段。它显示在 null 上调用了 getter
- javascript - JS:类构造函数中的 addEventListener
- css - 对于相同的字体样式,如何解决MAC和Windows字体宽度和高度的差异?
- microservices - 使用 Azure 事件网格在微服务之间进行基于事件的通信
- android - HiTouch_PressGestureDetector 错误,有限的触摸指针
- python - 有没有办法在 Django Rest Framework 中添加自定义字段
- c++ - 如何在系统杀死正在运行的线程之前从单独的模块中删除单例实例
- javascript - Angular:我必须从商店获取调度值,但无法获取
- amazon-web-services - aws 应用程序负载均衡器后面的服务的固定 IP 地址