我的数据看起来像这样,我想创建一个条形图
services percent
1 overall 80.00%
2 service 1 50.00%
3 service 2 43.00%
4 service 3 45.00%
5 service 4 78.00%
6 service 5 34.00%
7 service 6 78.00%
8 service 7 23.00%
9 service 8 54.00%
10 service 9 32.00%
11 service 10 32.00%
这是我尝试过的
ggplot(service, aes(fill=services, y=percent, x=services)) +
geom_bar(position="dodge", stat="identity") +
coord_flip()
现在我想用
尝试这个:
library(ggplot2)
library(dplyr)
#Code
df %>%
mutate(percent=as.numeric(gsub('%','',percent))/100,
services=factor(services,levels = rev(unique(services)),ordered = T))%>%
ggplot(aes(fill=services, y=percent, x=services)) +
geom_bar(position="dodge", stat="identity") +
scale_y_continuous(labels = scales::percent,limits = c(0,1))+
coord_flip()+
theme(legend.position = 'none')
输出:
使用了一些数据:
#Data
df <- structure(list(services = c("overall", "service 1", "service 2",
"service 3", "service 4", "service 5", "service 6", "service 7",
"service 8", "service 9", "service 10"), percent = c("80.00%",
"50.00%", "43.00%", "45.00%", "78.00%", "34.00%", "78.00%", "23.00%",
"54.00%", "32.00%", "32.00%")), row.names = c(NA, -11L), class = "data.frame")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句