美文网首页绘图技巧R plotR语言做图
如何用R绘制排序条形图?

如何用R绘制排序条形图?

作者: R语言与SPSS学习笔记 | 来源:发表于2021-06-11 16:13 被阅读0次

今天跟大家分享如何用R绘制排序条图。条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图有简单条形图、复式条形图等形式,今天跟大家分享的是简单条形图。

加载包并生成模拟数据:

library(dplyr)
library(ggplot2)
library(cowplot)
set.seed(2021)
bar=data.frame(type =LETTERS[1:26],  counts = sample(20:100,26))

升序排序:

bar <- bar %>% mutate( type = factor(type,levels = type[order(counts)]))

绘制:

p1 <- ggplot(bar ,aes(type,weight = counts))+  geom_hline(yintercept = seq(10,90,10),color = 'gray')+  geom_bar(color = 'black',width = 0.6,fill = '#4393C3',size =0.35)+  scale_y_continuous(expand = c(0,0))+  theme_classic()+  theme(axis.text.x = element_text(angle = 45,hjust=1))
p1
图片

降序排序:

bar <- bar %>% mutate(  type = factor(type,levels = rev(type[order(counts)])))

绘制

p2 <- ggplot(bar ,aes(type,weight = counts))+  geom_hline(yintercept = seq(10,90,10),color = 'gray')+  geom_bar(color = 'black',width = 0.6,fill = '#D6604D',size = 0.35)+  scale_y_continuous(expand = c(0,0))+  theme_classic()+  theme(axis.text.x = element_text(angle = 45,hjust=1))
p2
image.gif

把两个图拼接在一起:

plot_grid(p1, p2, ncol = 1,labels = c('1','2'),align = c('h','v'))
图片

总结:排序条图有助于读者一下子抓住主要信息,不排序则会显得杂乱无章,无法一眼看出主要信息,如下图。大家可以根据自己的需要来进行排序。

图片

欢迎大家关注我的公众号:R语言与SPSS学习笔记

相关文章

网友评论

    本文标题:如何用R绘制排序条形图?

    本文链接:https://www.haomeiwen.com/subject/zwrveltx.html