如何在 PieDonut 的中心显示值而不是百分比和总和?

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

我有这张桌子:

   Tip_migrene Populacija                    lvl2   Troskovi
1           EM        Svi                     PZZ  574345839
2           EM        Svi                     SZZ 1151543136
3           EM        Svi        bolnicko_lecenje   69967985
4           EM        Svi dijagnosticke_procedure 1983183163
5           EM        Svi            testovi_krvi   57333171
6           HM        Svi                     PZZ  107825242
7           HM        Svi                     SZZ  174517582
8           HM        Svi        bolnicko_lecenje    9822562
9           HM        Svi dijagnosticke_procedure  286431165
10          HM        Svi            testovi_krvi   13668088

我尝试使用

PieDonut
制作甜甜圈,但它只显示百分比,而我需要显示值。这是我使用的代码和我得到的甜甜圈:

PieDonut(T_Total_EM_vs_CM, aes(Tip_migrene, lvl2, count=Troskovi), 
         title = "EM vs. HM (Svi)")

是否可以在此 PieDonut 中显示值而不是百分比? (我是否可能需要通过 PieDonut 的某些参数来格式化值?)

另外,是否可以将所有值的总金额(总和)放在甜甜圈的中心?

r ggplot2 pie-chart donut-chart
1个回答
0
投票

这是我们通过这些大标签所能达到的最好效果。基本上,我们事先创建标签,并关闭百分比。我无法将总数放在图表的中间,所以我将其放在标题中。如果您想要更大的灵活性,您需要尝试

ggplot2

read.table(text = " Tip_migrene Populacija  lvl2                    Troskovi
                    EM          Svi         PZZ                     574345839
                    EM          Svi         SZZ                     1151543136
                    EM          Svi         bolnicko_lecenje        69967985
                    EM          Svi         dijagnosticke_procedure 1983183163
                    EM          Svi         testovi_krvi            57333171
                    HM          Svi         PZZ                     107825242
                    HM          Svi         SZZ                     174517582
                    HM          Svi         bolnicko_lecenje        9822562
                    HM          Svi         dijagnosticke_procedure 286431165
                    HM          Svi         testovi_krvi            13668088", 
           header = T, stringsAsFactors = F) -> T_Total_EM_vs_CM

library(dplyr)
library(ggplot2)
library(webr)

T_Total_EM_vs_CM %>% 
  mutate(lvl2_lbl = paste0(lvl2, "\n", Troskovi)) %>% 
  mutate(Tip_migrene_lbl = paste0(Tip_migrene, "\n", sum(Troskovi)), .by = Tip_migrene) %>% 
 PieDonut(., aes(Tip_migrene_lbl, lvl2_lbl, count=Troskovi), 
         title = paste0("EM vs. HM (Svi)", "\n", "Total = ", sum(T_Total_EM_vs_CM$Troskovi)), 
         showRatioDonut = F, showRatioPie = F, showPieName = F, #showRatioThreshold = 0.001,
         r0 = 0.05, r1 = 0.5, r2 = 0.9, 
         titlesize = 4, start = 3.5)

创建于 2024-03-26,使用 reprex v2.0.2

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