美文网首页绘图技巧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