R语言柱状图排序和x轴上的标签倾斜操作

 更新时间:2021年04月01日 16:25:02   作者:丙吉  
这篇文章主要介绍了R语言柱状图排序和x轴上的标签倾斜操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

R语言做柱状图大致有两种方法, 一种是基础库里面的 barplot函数, 另一个就是ggplot2包里面的geom_bar

此处用的是字符变量 统计其各频数,然后做出其柱状图。(横轴上的标签显示不全)

t <- sort(table(dat1$L), decreasing = TRUE)                      #将频数表进行排序
r <- barplot(t, col = "blue",
       main = "柱状图", ylim = c(0,12), names.arg = dimnames(t)     #画字符变量的柱状图 
tmp <- as.vector(t)                                           #将频数变成一个向量
text(r, tmp, label = tmp, pos = 3)                                #加柱子上面的标签

或用ggplot2包 (目前仍没有给柱子上加数字标签)

library(ggplot2)                                         #加载ggplot2包                      
reorder_size <- function(x) {
 factor(x, levels = names(sort(table(x))))
}                                                     #自定义函数,获取因子型变量的因子类型
p <- ggplot(dat3, aes(reorder_size(LAI))) +                   #用因子变量做基础底图,也可直接用reorder排序
 geom_bar(fill = "blue") +                                        #画柱状图
 theme(axis.text.x = element_text(angle = 45, hjust = 0.5, vjust = 0.5)) +   #让横轴上的标签倾斜45度
 xlab("柱状图")                                                #给x轴加标签

补充:R 语言条形图,解决x轴文字排序问题

数据结果的图形展示,R代码,《R数据科学》是个好东西

数据格式如下:

term category pval
neutrophil chemotaxis biological_process 1.68E-09
innate immune response biological_process 3.35E-09
complement activation, classical pathway biological_process 1.14E-08
negative regulation of endopeptidase activity biological_process 4.43E-08
collagen fibril organization biological_process 4.43E-08
blood coagulation biological_process 1.29E-07
proteolysis involved in cellular protein catabolic process biological_process 1.56E-07
proteolysis biological_process 1.13E-06
leukocyte migration involved in inflammatory response biological_process 1.47E-06
peptide cross-linking biological_process 1.47E-06
extracellular space cellular_component 8.75E-40
collagen-containing extracellular matrix cellular_component 2.08E-26
extracellular matrix cellular_component 5.72E-11
lysosome cellular_component 6.09E-10
extracellular region cellular_component 6.58E-10
collagen trimer cellular_component 1.68E-09
cell surface cellular_component 2.80E-08
extracellular exosome cellular_component 2.34E-07
extrinsic component of external side of plasma membrane cellular_component 1.47E-06
sarcolemma cellular_component 3.16E-06

作图要求:x轴为term,颜色按categroy分类、并且pval由小到大排序

代码:

#openxlsx读入为data.frame
class(data)
#转换
library(tidyverse)
godata<-as_tibble(godata)
class(godata)
#原始数据筛选(category,term,pval)散列,按照category,-log10(pval)排序
data<-godata%>%select(category,term,pval)%>%arrange(category,desc(-log10(pval)))
#画图时改变geom_bar的自动排序
data$term<-factor(data$term,levels = unique(data$term),ordered = T)
#作图
ggplot(data)+
 geom_bar(aes(x=term,y=-log10(pval),fill=category),stat = 'identity')+
 coord_flip()

结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • R语言入门教程之删除指定数据的方法

    R语言入门教程之删除指定数据的方法

    这篇文章主要介绍了R语言入门教程之删除指定数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言 设置ylab每个汉字竖向排列的操作

    R语言 设置ylab每个汉字竖向排列的操作

    这篇文章主要介绍了R语言 设置ylab每个汉字竖向排列的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言-如何读写带分隔符的文件

    R语言-如何读写带分隔符的文件

    这篇文章主要介绍了R语言读写带分隔符的文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中cut()函数的用法说明

    R语言中cut()函数的用法说明

    这篇文章主要介绍了R语言中cut()函数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言实现操作MySQL数据库

    R语言实现操作MySQL数据库

    这篇文章主要介绍了R语言实现操作MySQL数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言学习代码格式一键美化

    R语言学习代码格式一键美化

    这篇文章主要为大家讲解介绍了R语言学习中代码格式一键美化的实现过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • R语言实现广义线性回归模型

    R语言实现广义线性回归模型

    本文主要介绍了R语言实现广义线性回归模型,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • R语言中文本文件分割 符号 sep的用法

    R语言中文本文件分割 符号 sep的用法

    这篇文章主要介绍了R语言中文本文件分割 符号 sep的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言-在一张图上显示多条线的实现

    R语言-在一张图上显示多条线的实现

    这篇文章主要介绍了R语言-在一张图上显示多条线的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中其它对象知识点总结

    R语言中其它对象知识点总结

    在本篇文章里小编给大家分享的是一篇关于R语言中其它对象知识点总结内容,有需要的朋友们可以学习下。
    2021-03-03

最新评论