R语言与医学统计图形-【15】ggplot2几何对象之线图
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几何对象之线图的更多相关文章
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言与医学统计图形【5】饼图、条件图
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...
- R语言与医学统计图形【3】条形图、误差图
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...
- R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...
- R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr
ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...
- R语言与医学统计图形-【12】ggplot2几何对象之条图
ggplot2绘图系统--几何对象之条图(包括误差条图) 1.条图 格式: geom_bar(mapping = , data = , stat = 'count', #统计变换默认计数 positi ...
- R语言与医学统计图形-【18】ggplot2几何对象汇总
ggplot2绘图系统--几何对象汇总 前面介绍了常见的几种基本的几何对象,并且介绍了scale.stat等其他要素.后续将介绍position.themes.coord和faceting等函数. 这 ...
- R语言与医学统计图形-【22】ggplot2统计变换函数
ggplot2绘图系统--统计变换函数 在几何对象中以参数stat形式出现. 不同的几何对象对应不同的统计变换函数. 以直方图为例,几何对象geom_histogram(..., stat='bin' ...
- R语言与医学统计图形-【11】ggplot2几何对象之散点图
ggplot2绘图系统--几何对象之散点图 以geom开头的函数超过30个.几何对象和标度函数scale密不可分.只有在aes中传入某个变量,scale才能发挥作用. 所谓标度scale,就是图形遥控 ...
随机推荐
- Beta Scrum Meeting汇总
第0次Alpha Scrum Meeting 第1次Alpha Scrum Meeting 第2次Alpha Scrum Meeting 第3次Alpha Scrum Meeting 第4次Alpha ...
- 【技术博客】在Unity3d中实现烟花效果
在游戏开发中,我们经常需要用到类似烟花的效果.在Unity3d中,实现烟花效果的方法不止一种,我选用了Unity3d中新添加的粒子特效工具--visual effect graph来进行实现. 实现过 ...
- Spring Cloud Alibaba整合Sentinel
Spring Cloud Alibaba 整合 Sentinel 一.需求 二.实现步骤 1.下载 sentinel dashboard 2.服务提供者和消费者引入sentinel依赖 3.配置控制台 ...
- 示波器分析I2C时序波形图
对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置.今天,我们就随便聊聊这个I2C协议. I2C协议中最重要的一点是I2C地址.这个地址有7位和 ...
- (转)Linux中的文件描述符与打开文件之间的关系
转:http://blog.csdn.net/cywosp/article/details/38965239 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文 ...
- hdu 2201 熊猫阿波的故事(简单概率。。)
题意: 阿波上了飞机,飞机上有座位1,2,....,N.第i个乘客本应坐在第i个座位上. 可是阿波随便找了个座位就坐了下来,接下来大家也都随便找了个座位坐了下来. 问:第i个乘客坐到原座位的概率是多少 ...
- clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)
clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused) 关闭防火墙,可以连, ...
- 一文搞懂js中的typeof用法
基础 typeof 运算符是 javascript 的基础知识点,尽管它存在一定的局限性(见下文),但在前端js的实际编码过程中,仍然是使用比较多的类型判断方式. 因此,掌握该运算符的特点,对于写出好 ...
- 2020美亚团体—Daniel篇
Daniel的桌上计算机的哈希值(SHA-256)是甚么? 通过取证大师计算 SHA-256值为 07DD40CF28603F421F3A09CD38F1C8AA40A2AC4BFB46ECF8299 ...
- NAT & 防火墙
NAT 网络地址转换 NAT产生背景 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联 ...