我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

结果:

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

这篇文章将为大家详细讲解有关R语言如何实现柱状图排序和x轴上的标签倾斜操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。R语言做柱状图大致有两种方法, 一种是基础库里面的 barplot函数, 另一个就是
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录