ggplot2绘图系统——几何对象之线图

  • 曲线:点连线、路径曲线、时间序列曲线、模型拟合曲线......
  • 直线:水平直线、垂直直线、斜线。

1.曲线

对象及其参数。

#路径图
geom_path(mapping = ,
data = ,
stat = 'identity',
position = 'identity',
lineend = 'butt', #线段两端样式,round/square
linejoin = 'round', #线段交叉样式,mitre/bevel
linemitre = 1,
arrow = ,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE) geom_line(mapping = ,
data = ,
stat = 'identity',
position = 'identity',
na.rm = F,
show.legend = NA,
inherit.aes = T)

示例时间序列曲线。

ggplot(economics,aes(date,unemploy))+
geom_line(color='red')

点连线

需要依靠图层叠加。先画点和先画线有细微的区别,即重叠的部分后一个会覆盖前一个。

df <- data.frame(x=c(1:10),y=sample(10:30,10))
ggplot(df,aes(x,y,))+geom_point(color='blue')+geom_line(color='red')
ggplot(df,aes(x,y,))+geom_line(color='red')+geom_point(color='blue')



线条颜色

dff <- data.frame(x=c(1:10),y=c(1:10))

#连续型线条颜色映射,意义不大
ggplot(dff,aes(x,y,color=x))+
geom_line(linetype=1)+
geom_point(color='blue') #离散型线条颜色映射
ggplot(economics_long,aes(date,value01))+
geom_line(aes(linetype=variable,color=variable))

2.平滑曲线

参数:

geom_smooth(mapping = ,
data = ,
stat = 'smooth',
position = 'identity',
method = 'auto', #曲线生成方法
formula = y~x,
se=TRUE, #是否显示95%可信区间
na.rm = F,
span=, #曲线平滑程度0-1,越小越平滑
show.legend = NA,
inherit.aes = T
)

method备选: lm/glm/gam/loess/rlm。一般样本量少于1000时,默认loess(样条回归);样本量大于1000时,默认gam(广义加性模型)。

formula备选:y~log(x),或多项式回归y~ploy(x,2)

a=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(span=0.2) b=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(span=0.8) c=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(method='lm',color='red')#线性回归 library(gridExtra) #图形组合
gridExtra::grid.arrange(a,b,c,ncol=3)

置信区间

有专门的几何对象geom_ribbon,即色带图。

mydata <- data.frame(time=seq(2000,2016,1),
m_value=rnorm(17,20,5),
sd_value=runif(17,1,3)) ggplot(mydata,aes(time,m_value))+
#均值曲线
geom_line(color='deeppink4',size=1)+
#95%置信区间上限
geom_line(aes(time,m_value+1.96*sd_value),color='black',linetype=2)+
#95%置信区间下限
geom_line(aes(time,m_value-1.96*sd_value),color='black',linetype=2)+
#在两条置信曲线间添加阴影。
geom_ribbon(aes(time,ymin=m_value-1.96*sd_value,ymax=m_value+1.96*sd_value),
fill='light green',alpha=0.3)

3.直线绘制

函数及其主要参数。

#斜线
geom_abline(...,slope, intercept...) #斜率,截距 #水平直线
geom_hline(..., yintercept...) #垂直直线
geom_vline(..., xintercept...)

示例。

ggplot(mpg,aes(displ,hwy))+geom_point()+
geom_hline(yintercept = c(15,25,35),linetype=2,color='red')+
geom_vline(xintercept = c(3,4.5,6),linetype=2,color='red')+
geom_abline(slope = 6,intercept = 5,color='blue')

R语言与医学统计图形-【15】ggplot2几何对象之线图的更多相关文章

  1. R语言与医学统计图形【4】直方图、金字塔图

    R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...

  2. R语言与医学统计图形【5】饼图、条件图

    R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...

  3. R语言与医学统计图形【3】条形图、误差图

    R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...

  4. R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图

    1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...

  5. R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr

    ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...

  6. R语言与医学统计图形-【12】ggplot2几何对象之条图

    ggplot2绘图系统--几何对象之条图(包括误差条图) 1.条图 格式: geom_bar(mapping = , data = , stat = 'count', #统计变换默认计数 positi ...

  7. R语言与医学统计图形-【18】ggplot2几何对象汇总

    ggplot2绘图系统--几何对象汇总 前面介绍了常见的几种基本的几何对象,并且介绍了scale.stat等其他要素.后续将介绍position.themes.coord和faceting等函数. 这 ...

  8. R语言与医学统计图形-【22】ggplot2统计变换函数

    ggplot2绘图系统--统计变换函数 在几何对象中以参数stat形式出现. 不同的几何对象对应不同的统计变换函数. 以直方图为例,几何对象geom_histogram(..., stat='bin' ...

  9. R语言与医学统计图形-【11】ggplot2几何对象之散点图

    ggplot2绘图系统--几何对象之散点图 以geom开头的函数超过30个.几何对象和标度函数scale密不可分.只有在aes中传入某个变量,scale才能发挥作用. 所谓标度scale,就是图形遥控 ...

随机推荐

  1. Scrum Meeting 0509

    零.说明 日期:2021-5-9 任务:简要汇报两日内已完成任务,计划后两日完成任务 一.进度情况 组员 负责 两日内已完成的任务 后两日计划完成的任务 qsy PM&前端 测试 测试 cyy ...

  2. [no code][scrum meeting] Alpha 6

    项目 内容 会议时间 2020-04-13 会议主题 后端技术细节分析 会议时长 30min 参会人员 PM+后端组成员 $( "#cnblogs_post_body" ).cat ...

  3. 了解 js 堆内存 、栈内存 。

    js中的堆内存与栈内存 在js引擎中对变量的存储主要有两种位置,堆内存和栈内存. 和java中对内存的处理类似,栈内存主要用于存储各种基本类型的变量,包括Boolean.Number.String.U ...

  4. 洛谷 P3332 [ZJOI2013]K大数查询 (整体二分理解)

    链接: P3332 题意: 维护 \(n(1\leq n\leq 5\times10^4)\) 个可重整数集,编号从 \(1\) 到 \(n\).有 \(m(1\leq m\leq5\times10^ ...

  5. 2021CCPC河南省省赛

    大一萌新,第一次打比赛,虽然是线下赛,但送气球的环节还是很赞的! 这里主要是补一下自己的弱项和考试时没有做出来的题目. 1002(链接之后再放,官方还没公开题目...) 先说一下第二题,这个题一看就是 ...

  6. AtCoder Beginner Contest 220部分题(G,H)题解

    刚开始的时候被E题卡住了,不过发现是个数学题后就开始使劲推式子,幸运的是推出来了,之后的F题更是树形DP换根的模板吧,就草草的过了,看了一眼G,随便口胡了一下,赶紧打代码,毕竟时间不多了,最后也没打完 ...

  7. Luogu P3758 [TJOI2017]可乐 | 矩阵乘法

    题目链接 让我们先来思考一个问题,在一张包含$n$个点的图上,如何求走两步后从任意一点$i$到任意一点$j$的方案数. 我们用$F_p(i,j)$来表示走$p$步后从$i$到$j$的方案数,如果存储原 ...

  8. linux 文件描述符和inode 的理解和区别

    inode 或i节点是指对文件的索引.如一个系统,所有文件是放在磁盘或flash上,就要编个目录来说明每个文件在什么地方,有什么属性,及大小等.就像书本的目录一样,便于查找和管理.这目录是操作系统需要 ...

  9. Java安全之Thymeleaf SSTI分析

    Java安全之Thymeleaf SSTI分析 写在前面 文章首发:https://www.anquanke.com/post/id/254519 最近看了一遍Thymeleaf,借此机会学习一下Th ...

  10. 在代码生成工具Database2Sharp中增加Vue&Element 工作流页面的快速生成

    在我们基于框架开发系统的时候,往往对一些应用场景的页面对进行了归纳总结,因此对大多数情况下的页面呈现逻辑都做了清晰的分析,因此在我们基于框架的基础上,增量式开发业务功能的时候,能够事半功倍.代码生成工 ...