R语言统计分析——图形参数

news2024/11/24 20:45:13

参考资料:R语言实战【第2版】

        我们可以通过修改图形参数来自定义一幅图形的多个特征(字体、颜色、坐标轴、标签)。一种方法是通过函数par()来指定这些参数,以这种方式设定的参数除非被再次修改,否则将会在会话结束前一直有效。第二种方法时为高级绘图函数直接提供optionname=value的键值对,这种情况下指定的选项进队本图有效,但并不是所有的高级绘图函数都允许指定全部可能的图形参数。

# 方法一:
# 设置参数
opar<-par(no.readonly=TRUE)
# 设置线型lty=2,表示虚线
# 设置标记形状pch=17,表示实心三角形
par(lty=2,pch=17)
# 绘制折线图
# type='b'表示同时绘制点和线
plot(dose,drugA,type='b')
par(opar)


# 方法二
# 在函数内设置参数
plot(dose,drugA,type='b',lty=2,pch=17)

1、符号和线条

        可用于指定符号和线条类型的参数如下:

pch:(plot character)指定绘制点时使用的符号。pch的参数设置为21~25时,我们还可以指定边界颜色(col=)和填充色(bg=)。

cex:(character expansion)指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%。

lty:(linetype)指定线条类型。

lwd:(linewidth)指定线条宽度。lwd是以默认值的相对大小表示的(默认值为1)。例如lwd=2,将生成一条2倍于默认宽度的线条。

        综上所述,以下代码可以绘制出一幅图(线条类型为点型,宽度为默认宽度的3倍,坐标点位符号为实心正方形,大小为符号大小的2倍)如下:

plot(dose,drugA,type='b',lty=3,lwd=3,pch=15,cex=2)

2、颜色

        R中有若干和颜色相关的参数如下:

col(color):默认的绘图颜色。某些函数(lines和pie)可以接受一个含有颜色值的向量并自动循环使用。例如,如果设定col=c("red","blue")并需要绘制三条线,则第一条线为红色,第二条线为蓝色,第三条为红色。

col.axis:坐标轴刻度文字的颜色。

col.lab:坐标轴标签(名称)的颜色。

col.main:标题颜色。

col.sub:副标题颜色。

fg(foreground):图形前景色。

bg(background):图形背景色。

        在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。举例来说:col=1,col='white',col='#FFFFFF',col=rgb(1,1,1),col=hsv(0,0,1)都是表示白色的等价方式。

        R中也有多种用于创建连续型颜色向量的函数,包括rainbow()、heat.colors()、terrain.colors()、topo.colors()以及cm.colors()。

        对于创建吸引人的颜色配对,可以考虑使用RColorBrewer。如下:

# 下载安装包
install.packages("RColorBrewer")
# 加载包
library(RColorBrewer)
# 设置颜色数量
n<-7
# 从set1调色板中抽取7种用十六进制表示的颜色并返回一个向量
mycolors<-brewer.pal(n,'Set1')
barplot(rep(1,n),col=mycolors)

        若要得到所有可选调色板的列表,输入brewer.pal.info;或者输入display.brewer.all()从而在一个显示输出中产生每个调色板的图形。如下:

         maxcolors category colorblind
BrBG            11      div       TRUE
PiYG            11      div       TRUE
PRGn            11      div       TRUE
PuOr            11      div       TRUE
RdBu            11      div       TRUE
RdGy            11      div      FALSE
RdYlBu          11      div       TRUE
RdYlGn          11      div      FALSE
Spectral        11      div      FALSE
Accent           8     qual      FALSE
Dark2            8     qual       TRUE
Paired          12     qual       TRUE
Pastel1          9     qual      FALSE
Pastel2          8     qual      FALSE
Set1             9     qual      FALSE
Set2             8     qual       TRUE
Set3            12     qual      FALSE
Blues            9      seq       TRUE
BuGn             9      seq       TRUE
BuPu             9      seq       TRUE
GnBu             9      seq       TRUE
Greens           9      seq       TRUE
Greys            9      seq       TRUE
Oranges          9      seq       TRUE
OrRd             9      seq       TRUE
PuBu             9      seq       TRUE
PuBuGn           9      seq       TRUE
PuRd             9      seq       TRUE
Purples          9      seq       TRUE
RdPu             9      seq       TRUE
Reds             9      seq       TRUE
YlGn             9      seq       TRUE
YlGnBu           9      seq       TRUE
YlOrBr           9      seq       TRUE
YlOrRd           9      seq       TRUE

        最后,多阶灰度色可使用基础安装自带的gray()函数生成。要通过一个元素值为0和1之间的向量来指定各颜色的灰度。

# 设置颜色数量
n<-10
# 导入10个彩色颜色
mycolors<-rainbow(n)
# 绘制彩色饼图
pie(rep(1,n),labels=mycolors,col=mycolors)
# 设置灰度颜色
mygrays<-gray(0:n/n)
# 绘制灰度饼图
pie(rep(1,n),babels=mygrays,col=mygrays)

3、文本属性

        图形参数同样可以用来指定字号、字体和字样。如下:

cex:(character expansion)指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%。

cex.axis:坐标轴刻度文字的缩放倍数。

cex.lab:坐标轴标签(名称)的缩放倍数。

cex.main:标题的缩放倍数。

cex.sub:副标题的缩放倍数。

font:整数,用于指定绘图使用的字体样式。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(以Adobe符号编码表示)。

font.axis:坐标轴刻度文字的字体样式。

font.lab:坐标轴标签(名称)的字体样式。

font.main:标题的字体样式。

font.sub:副标题的字体样式。

ps:字体磅值。文本的最终大小为ps*cex

family:绘制文本时使用的字体族。标准的取值为serif(衬线)、sans(无衬线)和mono(等宽)

        举例:在执行此语句:par(font.lab=3,cex.lab=1.5,font.main=4,cex.main=2)之后,创建的所有图形都将拥有斜体、1.5倍于默认文本大小的坐标轴标签(名称),以及粗斜体、2倍于默认文本大小的标题。

4、图形尺寸与边界尺寸

pin:以英寸表示的图形尺寸(宽和高)

mai:以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸

mar:以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分,默认值为c(5,4,4,2,)+0.1

# 录入数据
dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
# 设置参数
opar<-par(no.readonly=TRUE)
# 设置图形尺寸,4英寸宽,3英寸高
par(pin=c(4,3))
# 设置线条宽度为默认值的2倍
# 标记大小为默认值的1.5倍
par(lwd=2,cex=1.5)
# 设置坐标轴刻度为默认值的75%
# 设置坐标轴标签为斜体
par(cex.axis=0.75,font.axis=3)
# 绘制折线图
plot(dose,drugA,type='b',
     pch=19,lty=2,col='red')
plot(dose,drugB,type='b',
     pch=23,lty=6,col='blue',
     bg='green')
# 还原参数设置
par(opar)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1813341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webshell三巨头 综合分析(蚁剑,冰蝎,哥斯拉)

考点: 蚁剑,冰蝎,哥斯拉流量解密 存在3个shell 过滤器 http.request.full_uri contains "shell1.php" or http.response_for.uri contains "shell1.php" POST请求存在明文传输 ant 一般蚁剑执行命令 用垃圾字符在最开头填充 去掉垃圾字符直到可以正常bas…

网页五子棋对战项目测试(selenium+Junit5)

目录 网页五子棋对战项目介绍 网页五子棋对战测试的思维导图​ 网页五子棋对战的UI自动化测试 测试一&#xff1a;测试注册界面 测试二&#xff1a;测试登陆界面 测试三&#xff1a;测试游戏大厅界面 测试四&#xff1a;测试游戏房间界面以及观战房间界面 测试五&#…

对yoloV8进行标签过滤来实现行人检测

前言 上一章我们介绍的通过迁移学习&#xff0c;在新的行人数据集上使用已经学习到的特征和权重&#xff0c;从而更快地实现行人检测任务。模型就会调整其参数以适应新的数据集&#xff0c;以提高对行人的识别性能。接下来介绍一种更快更便捷的方法&#xff0c;依旧是基于yolo…

探寻性能优化:如何衡量?如何决策?

目录 一、衡量指标说明 &#xff08;一&#xff09;响应时间&#xff08;Response Time&#xff09; 平均响应时间&#xff08;Average Response Time&#xff09; 百分位数响应时间&#xff08;Percentile Response Time&#xff09; &#xff08;二&#xff09;吞吐量&a…

bugku--web---baby lfi

1、题目描述 2、页面提示使用language参数 3、构造url:/?languagefr。页面有回显 4、这里提示包含关键的文件 5、构造url:/?language/etc/passwd 6、flag shellmates{10CA1_F11e_1Nc1US10n_m4y_r3ve4l_in7Er3st1nG_iNf0Rm4t1on}

2024.6.11

思维导图 代码 #include <iostream>using namespace std;//封装一个 讲解员 类 class Animal { public:Animal(){}virtual void perform(){cout << " " << endl;} };//封装一个 狮子 类 class Lion:public Animal { public:Lion(){}void pe…

BT音频方案

一、缩写 缩写 全程 释义 I2S I2S 音频传输接口总线 PCM Pulse-Code Modulation 基础音频数据或翻译为音频接口总线 HFP Handsfree 蓝牙通话协议 A2DP Advanced Audio Distribution Profile 蓝牙媒体音频协议 二、音频流转策略 蓝牙音频功能分为通话声音和媒体…

【Java】 如何设计RPC框架在10万QPS下实现毫秒级的服务调用?

一、问题解析 来思考这样一个场景&#xff1a;你的垂直电商系统的 QPS 已经达到了每秒 2 万次&#xff0c;在做了服务化拆分之后&#xff0c;由于我们把业务逻辑都拆分到了单独部署的服务中&#xff0c;那么假设你在完成一次完整的请求时需要调用 4&#xff5e;5 次服务&#…

温泉镇旅游微信小程序的设计与实现(论文+源码)_kaic

摘要 旅游业随着经济的快速发展呈现出一派欣欣向荣的景象&#xff0c;尤其是近两年来&#xff0c;各个行业运用科技以及因特网来促进旅游迅速发展&#xff0c;逐渐都显示出了的问题&#xff0c;特别突出的是在线上推广&#xff0c;其缺点也是特别明显。尽管在新冠肺炎的冲击下&…

5252DE 5G 外场通信测试仪

5252DE 5G 外场通信测试仪 集先进算法和高性能硬件于一体的便携式测试仪表 产品综述 5252DE 5G 外场通信测试仪是集合高性能频谱处理模块、多制式解析算法软件于一体的手持式测试仪表&#xff0c;具有很好的便携性、兼容性与可拓展性。 5252DE 具有工作频段宽、性能指标高…

如何分割3D模型

拆分 3D 模型进行打印可以解决许多问题。 你可以使用较小的 3D 打印机打印大型零件&#xff0c;你的零件不会出现太多翘曲&#xff0c;并且零件在清洁和后处理过程中更容易处理。 当然&#xff0c;你需要在打印后将 3D 打印部件粘合在一起&#xff0c;但对于那些无法使用大型 …

C语言 指针——字符数组与字符指针:字符串的输入和输出

目录 逐个字符输入输出字符串 整体输入输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 逐个字符输入输出字符串 #define STR_LEN 80 char str[STR_LEN 1 ]; 整体输入输出字符串 用scanf输入/输出字符串 用gets…

拼房、行程变更、跨月退改?复杂场景对账结算怎么办?

在实际商业场景中&#xff0c;销售渠道多样化、数据关联多方、场景多元化、业务逻辑多变性等都让对账成为一门“技术活”&#xff0c;也成为财务人员面前的“拦路虎”。尤其当面临多成本中心、跨项目和跨月退改的出差费用时。手动拆分费用、协调沟通、以及处理费用归属等问题&a…

Spring—依赖注入

一、Spring框架概念 1.什么是OCP&#xff1f; OCP是软件七大开发原则当中最基本的一个原则&#xff1a;开闭原则 对什么开?对扩展开放。 对什么闭?对修改关闭。 OCP原则是最核心的&#xff0c;最基本的&#xff0c;其他的六个原则都是为这个原则服务的。 OCP开闭原则的核…

HTML5+CSS3小实例:粘性文字的滚动效果

实例:粘性文字的滚动效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

二叉树oj联习

判断是否为平衡二叉树 定义 oj题目 采用递归的思想 在gaodu函数中算出左子树的高度和右子树的高度 相减进行比较 再用递归遍历左右子树 依次算出每个结点的左右子树高度比较&#xff0c;只要有一个不符合条件则不为平衡二叉树 代码展示 int gaodu(struct TreeNode* a) {i…

PHP项目跨大版本升级,兼容性检测

项目中&#xff0c;经常因为各种原因&#xff0c;需要对老旧的项目进行跨大版本升级&#xff0c;比如从7.1升级到8.1 跨大版本升级会导致项目不可控&#xff0c;运行报错&#xff0c;出BUG等等问题&#xff0c;我们介绍一款工具用来解决此问题 php-compatibility检查PHP跨版本兼…

MySQL -- 锁机制

1. 表级锁和行级锁 表级锁&#xff08;Table-level Lock&#xff09; 表级锁是对整张表进行锁定&#xff0c;通常用于需要修改大量数据的操作。表级锁的优点是开销小&#xff0c;锁定快&#xff0c;但缺点是并发性能较差&#xff0c;因为一个表一旦被锁定&#xff0c;其他事务…

从0到100:找搭子小程序开发笔记(一)

背景调查 “找搭子”小程序&#xff1a;能够解决人们在社交、休闲和约会方面的需求&#xff0c;提供方便快捷的方式来找到合适的伴侣或活动伙伴。许多人在社交场合中感到焦虑或不安&#xff0c;因此他们更倾向于使用在线平台来认识新的朋友或搭子。有些人可能生活在一个较小或…

鸿蒙开发:应用组件跨设备交互(流转)【跨端迁移】

跨端迁移 概述 在用户使用设备的过程中&#xff0c;当使用情境发生变化时&#xff08;例如从室内走到户外或者周围有更适合的设备等&#xff09;&#xff0c;之前使用的设备可能已经不适合继续当前的任务&#xff0c;此时&#xff0c;用户可以选择新的设备来继续当前的任务&a…