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,就是图形遥控 ...
随机推荐
- 封装一个简单的ajax请求
记录自己第一次封装ajax,肯定有很多考虑不周到,如有错误请指出,本人必将虚心改正. /** * * @param {Object} obj =>header:请求头:url:请求地址:meth ...
- spring cloud feign的各种配置的使用
在上一节我们完成了feign的基本使用,学会了feign如何去调用其他微服务,这次我们来完成feign的一些自定义配置. 实现功能: 1.全局修改feign的配置和单独修改feign客户端的配 ...
- 所驼门王的宝藏(Tarjan)
题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为"先知"的Alpaca L. Sotomon是这个家族的领袖,外人也称其为"所驼门王". ...
- 用C++实现的数独解题程序 SudokuSolver 2.6 的新功能及相关分析
SudokuSolver 2.6 的新功能及相关分析 SudokuSolver 2.6 的命令清单如下: H:\Read\num\Release>sudoku.exe Order please: ...
- linux hostid与lmhostid
https://wangchujiang.com/linux-command/c/hostid.html hostid(host identifier) 显示当前主机的十六进制数字标识. 概要 hos ...
- nginx 支持https访问
1,先确认nginx安装时已编译http_ssl模块. 就是执行nginx -V命令查看是否存在--with-http_ssl_module.如果没有,则需要重新编译nginx将该模块加入.yum安装 ...
- Mysql教程:(四)连接查询
连接查询 1.左连接查询: mysql> select stu.*,sc.*,maths+sc.chinese+sc.english from student stu left join sco ...
- 用 python 解决线性代数中的矩阵运算
用 python 解决线性代数中的矩阵运算 矩阵叉乘 矩阵求逆 矩阵转置 假定AX=B,求解未知矩阵X 矩阵的行列式值|matrix| 未完待续..... import sys from PyQt5. ...
- IO流(二)
一:字符流 字符输入流 写入文件字符流 import java.io.FileWriter; import java.io.IOException; //fileWriter public class ...
- 2017final英文语句格式简单检查
英文书写中,句首字母通常为大写,其余为小写,单词"I"除外,单词与单词之间用一个空格隔开,句中用","断句,句末用"."结束,", ...