r - 在堆积条形图中反转 geom_text() (ggplot2)
问题描述
我正在制作一个相当复杂的条形图,并在其中添加了一条额外的帕累托线。通常我的条形图可以正常工作 - 也可以使用堆叠条顶部的 geom_text() 标签。但现在我似乎无法让它工作。geom_bar() 的 geom_text() 在每个柱上的顺序错误(从上到下),我不知道为什么。这是(部分)我的代码:
ggplot() +
theme_mso() +
geom_bar(data = uth.sum, aes(x = reorder(dpsd_ny, -n), y = n, fill = alvor), stat = "identity") +
geom_text(data = uth.sum, aes(x = reorder(dpsd_ny, -n), y = n, label = n), position = position_stack(vjust = .5)) +
scale_fill_manual(values = col) +
geom_point(data = uth.sum2, aes(x = dpsd_ny, y = akkumuleret)) +
geom_line(data = uth.sum2, aes(x = dpsd_ny, y = akkumuleret, group = 1), stat = "identity") +
scale_y_continuous(sec.axis = sec_axis(~(./total_value)*100, name = "Procent")) +
geom_text(data = uth.sum2, aes(x = dpsd_ny, y = akkumuleret, label = procent), position = position_stack(vjust= 1.08)) +
.... 等等。希望这是有道理的,有人可以提供帮助!
解决方案
您可以尝试将组的级别顺序指定为您喜欢的顺序。对于具有指定填充的每个几何图形,添加级别顺序规范。
#Specify level orders
level_order <- c("A", "B", "C", "D", "E", "F")
修改您的 ggplot 代码以将级别顺序添加到适当的美学中。
geom_bar(aes(x=X, y=Y, fill=factor(group, level_order))
推荐阅读
- java - 在使用 Stream 时,使用多个 map () 是否会比在单个 map () 中聚合所有逻辑花费更多时间?
- google-apps-script - 在 Google 表格中计算具有特定背景颜色的单元格
- javascript - 无法从 Android Studio 部署到 Firebase Cloud Functions
- android - 可写的 SQLite 数据库应该存储在哪里?
- bash - 如何将字符串数组传递给 Bash 脚本并加入该数组?
- swift - 在 Swift 中,如何在继续编码之前安全地确保从 Google 检索数据(日期和时间)?
- javascript - 使用 JavaScript 在 div 上加载 php 页面
- linux - 使用 mmap 复制文件
- java - Android Studio 应用程序:更新工作室后无法组装 APK
- mysql - 如何加入没有匹配列的 2 个不同的表