文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用R语言怎么绘制一个折线图

2023-06-14 10:28

关注

这篇文章给大家介绍使用R语言怎么绘制一个折线图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在R中的通过使用plot()函数来创建线形图,语法如下:

plot(v,type,col,xlab,ylab)

参数描述如下:

v - 是包含数值的向量。

type - 取值“p”表示仅绘制点,“l”表示仅绘制线条,“o”表示仅绘制点和线。

xlab - 是x轴的标签。

ylab - 是y轴的标签。

main - 是图表的。

col - 用于绘制点和线两种颜色。

我们接下来尝试使用输入向量和类型参数为“O”创建一个简单的折线图,如下:

使用R语言怎么绘制一个折线图

运行结果为:

使用R语言怎么绘制一个折线图

我们再来通过使用附加参数来扩展折线图的功能,例如可以向点和线添加颜色,给图表,并在轴上添加标签,如下:

使用R语言怎么绘制一个折线图

运行结果为:

使用R语言怎么绘制一个折线图

最后再来尝试使用lines()函数在同一个图表上绘制多个线条,在绘制第一行之后,lines()函数可以使用附加向量作为输入来绘制图表中的第二行,如下:

使用R语言怎么绘制一个折线图

运行结果为:

使用R语言怎么绘制一个折线图

好啦,本次记录就到这里了。

补充:R语言基础图形绘制——折线图

简介

折线图通常用来对两个连续变量之间的相互依存关系进行可视化。x轴可以是连续型变量,也可以是离散型变量。生物学中,通常用来表示不同药物剂量下实验对象的变化,或者是基因在不同类型组织或细胞中的表达模式。

1. 基础函数

简单示例:使用plot()函数,改变参数type,更多类型请查看帮助文档。

# 查看作图数据BOD# Time demand# 1 1 8.3# 2 2 10.3# 3 3 19.0# 4 4 16.0# 5 5 15.6# 6 7 19.8op <- par(no.readonly = T)library(dplyr)library(tidyverse)par(mfrow = c(2,2))BOD %>% { plot(demand ~ Time,data = .,type = "l",main = "A") plot(demand ~ Time,data = .,type = "b",main = "A") plot(demand ~ Time,data = .,type = "s",main = "A") plot(demand ~ Time,data = .,type = "o",main = "A")}par(op)

使用R语言怎么绘制一个折线图

目前,基础函数绘制多个分组折线图,需要借助lines()函数。

op <- par(no.readonly = T)library(dplyr)library(tidyverse)par(mar = c(rep(4,4)))BOD %>% { plot(demand ~ Time,data = .,type = "l",col = "red",lwd = 2) lines(1:7,seq(8,20,length.out = 7),col = "steelblue",lwd = 2)}par(op)

使用R语言怎么绘制一个折线图

多个分组时,可以借助for循环实现。

2. ggplot()函数

不加任何参数绘制简单折线图。

library(ggplot2)BOD %>% { ggplot(.,aes(Time,demand))+geom_line()}

使用R语言怎么绘制一个折线图

library(ggplot2)library(patchwork)BOD %>% { p1 <- ggplot(.,aes(Time,demand))+geom_line() p2 <- ggplot(.,aes(factor(Time),demand,group = 1))+geom_line() p1 + p2}

为了比较因子型和连续型变量的不同,我们将两张图放在一起,可以发现右图中并没有6这个水平。当 x 对应于因子型变量时,必须使用命令 aes(group=1) 以确保 ggplot() 知道这些数据点属于同一个分组,从而应该用一条折线连在一起。

使用R语言怎么绘制一个折线图

相比于基础函数,ggplot绘制分组折线图简直不要太方便。%>%是管道符,需要加载dplyr包,**{}也可以理解为管道符,.**代表上一级生成的数据,p1 + p2 需要加载patchwork拼图包。

library(plyr)ToothGrowth %>%  ddply(c("supp", "dose"), summarise, length=mean(len)) %>% { p1 <- ggplot(.,aes(x=dose, y=length, colour=supp)) + geom_line() p2 <- ggplot(.,aes(x=dose, y=length, linetype=supp)) + geom_line() p1 + p2 }

使用R语言怎么绘制一个折线图

如图,分别将supp映射给了颜色和线条类型。

如果要添加数据点等其他类型,可以通过geom系列函数实现。

来吧,实践吧!

3. 实践

我使用的是自己的小鼠早期胚胎卵母细胞到8细胞各时期的测序数据,挑选了大约3300个基因。纵坐标使用的是log2(FPKM)值。

一起来看看ggplot绘制分组折线图有多方便吧

首先需要将数据组织成长数据格式。

head(oo1_long)

使用R语言怎么绘制一个折线图

x <- length(unique(oo1_long$t))ggplot(data=oo1_long, aes(x=variable, y=value, group=t)) + geom_line(alpha = oo1_long$alpha,color = oo1_long$color,size = oo1_long$size)+ theme_bw()+ scale_y_continuous(expand = c(0,0))+ scale_x_discrete(expand = c(0,0))+ ylab(label = "log2(fpkm)")+ xlab(label = "")+ geom_text(aes(4,10.2,label =paste("cluster1-1", x-1 , sep = '\n')))

使用R语言怎么绘制一个折线图

关于使用R语言怎么绘制一个折线图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯