今天跟大家分享如何用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学习笔记
网友评论