通过计算 R 中两列值之间的百分比值在条形图标签上添加百分号标签
Add percentage sign labels on bargraph labels by calculating percentage value between two column values in R
我有一个如下所示的数据框:
year <- c("2015", "2016", "2017", "2018")
malaria_mortality <- c(25, 30, 35, 40)
malaria_discharge <- c(155, 340, 550, 160)
fatality <- data.frame(year, malaria_mortality,malaria_discharge )
我想通过计算 疟疾死亡率列 的值与 疟疾排放列 的值来生成百分比比例,我通过这样做来实现这个:
fatality$case_fatal <- round((fatality$malaria_mortality/fatality$malaria_discharge) * 100, 2)
然后我继续生成如下图
p <-ggplot(fatality, aes(x=year, y=case_fatal)) +
geom_bar(stat="identity", fill="steelblue")+
theme_minimal() +
labs(title="Case Fatality ") +
geom_text(aes(label=case_fatal), vjust=1.6, color="white",
position = position_dodge(0.9), size=3.5)
p
一切正常,但是,如何在条形图标签中添加百分号(%)。任何在条形标签上添加百分号的帮助将不胜感激
正如@Mohanasundaram 在评论中所说,您可以使用 paste0
和 "%"
或任何其他符号来添加到您的标签中,如下所示:
library(tidyverse)
p <-ggplot(fatality, aes(x=year, y=case_fatal)) +
geom_bar(stat="identity", fill="steelblue")+
theme_minimal() +
labs(title="Case Fatality ") +
geom_text(aes(label=paste0(case_fatal, "%")), vjust=1.6, color="white",
position = position_dodge(0.9), size=3.5)
p
输出:
我有一个如下所示的数据框:
year <- c("2015", "2016", "2017", "2018")
malaria_mortality <- c(25, 30, 35, 40)
malaria_discharge <- c(155, 340, 550, 160)
fatality <- data.frame(year, malaria_mortality,malaria_discharge )
我想通过计算 疟疾死亡率列 的值与 疟疾排放列 的值来生成百分比比例,我通过这样做来实现这个:
fatality$case_fatal <- round((fatality$malaria_mortality/fatality$malaria_discharge) * 100, 2)
然后我继续生成如下图
p <-ggplot(fatality, aes(x=year, y=case_fatal)) +
geom_bar(stat="identity", fill="steelblue")+
theme_minimal() +
labs(title="Case Fatality ") +
geom_text(aes(label=case_fatal), vjust=1.6, color="white",
position = position_dodge(0.9), size=3.5)
p
一切正常,但是,如何在条形图标签中添加百分号(%)。任何在条形标签上添加百分号的帮助将不胜感激
正如@Mohanasundaram 在评论中所说,您可以使用 paste0
和 "%"
或任何其他符号来添加到您的标签中,如下所示:
library(tidyverse)
p <-ggplot(fatality, aes(x=year, y=case_fatal)) +
geom_bar(stat="identity", fill="steelblue")+
theme_minimal() +
labs(title="Case Fatality ") +
geom_text(aes(label=paste0(case_fatal, "%")), vjust=1.6, color="white",
position = position_dodge(0.9), size=3.5)
p
输出: