服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - R语言 - R语言开发之输出折线图的操作

R语言开发之输出折线图的操作

2022-01-06 14:09luyaran R语言

这篇文章主要介绍了R语言开发之输出折线图的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

线形图是通过在多个点之间绘制线段来连接一系列点所形成的图形,这些点按其坐标(通常是x坐标)的值排序,并且它通常用于识别数据趋势。

在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.8
op <- 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语言开发之输出折线图的操作

其实上面的代码还可以再优化,使用aes()函数设置color等参数。

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

原文链接:https://blog.csdn.net/luyaran/article/details/82743676

延伸 · 阅读

精彩推荐
  • R语言R语言gsub替换字符工具的具体使用

    R语言gsub替换字符工具的具体使用

    这篇文章主要介绍了R语言gsub替换字符工具的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    lztttao10372021-12-24
  • R语言如何用R语言绘制散点图

    如何用R语言绘制散点图

    这篇文章主要介绍了如何用R语言绘制散点图,帮助大家更好的理解和学习使用R语言,感兴趣的朋友可以了解下...

    菜鸟教程13002021-12-23
  • R语言基于R/RStudio中安装包“无法与服务器建立连接”的解决方案

    基于R/RStudio中安装包“无法与服务器建立连接”的解决方案

    这篇文章主要介绍了基于R/RStudio中安装包“无法与服务器建立连接”的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    truffle52815052022-01-05
  • R语言R语言常量知识点总结

    R语言常量知识点总结

    在本篇文章里小编给大家整理了一篇关于R语言常量知识点总结内容,有兴趣的朋友们可以学习分享下。...

    R语言教程网12102021-12-29
  • R语言R语言中的vector(向量),array(数组)使用总结

    R语言中的vector(向量),array(数组)使用总结

    这篇文章主要介绍了R语言中的vector(向量),array(数组)使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    A叶子叶来5772021-11-14
  • R语言R语言读取xls与xlsx格式文件过程

    R语言读取xls与xlsx格式文件过程

    这篇文章主要为大家介绍了使用R语言读取xls与xlsx格式文件的过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪...

    Kanny广小隶11982022-01-20
  • R语言R语言中qplot()函数的用法说明

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

    这篇文章主要介绍了R语言中qplot()函数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Jack_丁明12752022-01-05
  • R语言R语言实现支持向量机SVM应用案例

    R语言实现支持向量机SVM应用案例

    本文主要介绍了R语言实现支持向量机SVM应用案例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    一天_pika5222022-01-18