使用ggplot2制作条形图

什么都不知道

我的数据看起来像这样,我想创建一个条形图

     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() 

在此处输入图片说明

现在我想用

  1. 使y轴保持原始顺序
  2. 删除图例
  3. 将x轴强制缩放为100%

尝试这个:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章