R语言基础绘图系统

基础绘图包之低级绘图函数——气泡图、一页多图、背景网格、添加线条和散点、数学表达式

4.气泡图

symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,squares,rectangles,stars,thermometers,boxplots. 默认标记圆圈,可用于绘制气泡图

op <- palette(rainbow(5,end = 0.9))
with(trees,{
symbols(Height,Volume,circles = Girth/16,
inches = F,bg=1:5, #背景色
fg='gray30', #前景色
main = '气泡图')
palette(op)
})

重叠点透明色气泡图.

#重叠点透明色气泡图
library(DescTools)
DescTools::PlotBubble(x=d.pizza$delivery_min,y=d.pizza$temperature,
area=d.pizza$price/40, #填充数据,数值标化
xlab='delivery time',ylab='temperature',
col=SetAlpha(as.numeric(d.pizza$area)+2,0.5),
#第一个参数颜色向量,第二个参数透明度
border='darkgrey',
na.rm=TRUE,main='Price-Bubbles',
panel.first=grid()) #panel.grid在画图前添加网格线
#添加图例,与legend类似 。这里图例没生成。
BubbleLegend('bottomleft',
frame = TRUE,
cols = SetAlpha('lightskyblue',0.5),
bg='green',
radius=c(10,5,2)/2,
labels = c(10,5,2),
cex=0.8,
cols.lbl = c('yellow','red','blue'),
width = 12)

5. 一页多图

mfrow/mfcol是等距切分画布,不等面积切割需要layout函数。

nf <- layout(matrix(c(1,1,2,3),2,2,byrow = T),
#将画布切分2行2列四部分,第一块占一行,第2、3块占第二行。
widths = c(3,1),
#每一列宽度,这里第一列是第二列的3倍
heights = c(2,2),
#每一列的高度,这是相对宽/高度,也可用绝对lcm(5)
TRUE)
#展示画布切分效果
layout.show(nf)

a <- seq(100,1)+4*runif(100,0.4)
b <- seq(1,100)^2+runif(100,0.98)
c <- rnorm(100,5,4) hist(c,breaks = 30,border = F,col = rgb(0.4,0.5,0.4,0.5),
xlab = '',main = '',freq = F)
lines(density(c),col='red') boxplot(a,xlab='a',col = rgb(0.3,0.8,0.2,0.5),las=2)
boxplot(b,xlab='b',col=rgb(0.7,0.3,0.3,0.5))



此外,split.screen函数也可用于切分屏幕。

6.背景网格

在基础绘图包中,通过grid函数添加网格背景。

op <- par(mfcol=1:2)
with(iris,{
#默认网格
plot(Sepal.Length,Sepal.Width,col=as.integer(Species),
xlim = c(4,8),ylim=c(2,4.5),panel.first = grid(),
main = 'grid 1')
#三行三列网格,宽度为2实线
plot(Sepal.Length,Sepal.Width,col=as.integer(Species),
panel.first = grid(3,lty = 1,lwd = 2),
main = 'grid 2')
})

7. 添加线条和散点

添加线条。

prevalence_m <- runif(10,0.5,0.8)
prevalence_f <- runif(10,0.3,0.6)
plot(prevalence_m,col='red',lty=1,type = 'l',
ylab='某种疾病患病率',xlab='时间',
lwd=2,ylim=c(0,0.9))
lines(prevalence_f,col='blue',lty=2,lwd=2)
#lines参数与plot大致相同
legend(2.3,0.38,legend = c('男性','女性'),lty=1:2,
lwd=2,col=c('red','blue'))



添加散点。

data <- runif(100)
plot(data,xlab = '',ylab = '')
points(50,mean(data),pch=17,col='red',cex=2)

8. 添加数学表达式

仍通过text添加,借助expression函数。


x <- seq(-3,7,by=1/8)
y <- sin(pi*x) plot(y~x,type='l')
text(-1,0.5,labels = expression(hat(beta)==(X^t * X)^{-1} * X^t *y),
col='red',cex=2)
text(2,-0.5,labels = expression(bar(x)==sum(frac(x[i],n),i==1,n)),
col = 'blue',cex=2)

R语言与医学统计图形【7】低级绘图函数的更多相关文章

  1. R语言与医学统计图形【6】低级绘图函数

    R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 bo ...

  2. R语言与医学统计图形【1】par函数

    张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...

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

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

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

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

  5. R语言与医学统计图形【8】颜色的选取

    R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...

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

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

  7. R语言与医学统计图形【2】散点图、盒形图

    R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...

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

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

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

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

随机推荐

  1. [no code][scrum meeting] Alpha 1

    项目 内容 会议时间 2020-04-06 会议主题 团队任务分析与拆解 会议时长 30min 参会人员 全体成员 $( "#cnblogs_post_body" ).catalo ...

  2. 软件案例分析——VS、VS Code

    软件案例分析--VS和VS Code 第一部分 调研,测评 一.使用10–30分钟这个软件的基本功能(请上传使用软件的照片) VS code Visual Studio 二.主要功能和目标用户有何不同 ...

  3. 微服务(三) Eureka注册中心和Ribbon负载均衡

    1. Eureka注册中心 1.1 Eureka的结构和作用 在上一篇文章中 微服务(二)服务拆分及远程调用 order-service在发起远程调用的时候,该如何得知user-service实例的i ...

  4. 搬运3:welpwnctf题目

    记录一道自己做的ctf题目:welpwn --RCTF-2015 1.老生常谈checksec查看: 可以看到只开了nx保护,下面我们进入ida下面看看. 发现是一个想rbp-400,rsp+0h的地 ...

  5. C/C++中浮点数输出精度的问题

    本文使用C++语言书写,对于C的小伙伴们,如果编译不通过的话--就说明C里面没有这个内容,可以跳过 通常来说,我们书写程序主要只用整形变量 (signed/unsigned) (long/long l ...

  6. Machine learning (7-Regularization)

    1.The Problem of Over-fitting 2.Cost Function 3.Regularized Linear Regression 4.Regularized Logistic ...

  7. 实验6:开源控制器实践——RYU

    实验目的 能够独立部署RYU控制器 能够理解RYU控制器实现软件定义的集线器原理 能够理解RYU控制器实现软件定义的交换机原理 二.实验环境 下载虚拟机软件Oracle VisualBox或VMwar ...

  8. ☕【Java技术指南】「序列化系列」深入挖掘FST快速序列化压缩内存的利器的特性和原理

    FST的概念和定义 FST序列化全称是Fast Serialization Tool,它是对Java序列化的替换实现.既然前文中提到Java序列化的两点严重不足,在FST中得到了较大的改善,FST的特 ...

  9. RedHat 7.0 Linux 下划分区,分区加密,配额,逻辑卷管理

    1:如何划分区: 1:明确分区的对象:xxx :fdisk /dev/xxx 2:增加一个分区:n:选择主分区或者扩展分区,"p" or "e" :默认地方开始 ...

  10. mongodb入门命令-创建表数据(二)

    1.mongodb入门命令 1.1 show databases; 或 show dbs; //查看当前的数据库 > show dbs; admin 0.000GB config 0.000GB ...