R语言统计分析——图形文本、自定义坐标轴和图例

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

        我们可以在图形上添加标题(main)、副标题(sub)、坐标轴标签(xlab、ylab)并指定标轴范围(xlim、ylim)。

# 录入数据
dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
# 绘图
plot(dose,drugA,type='b',col='red',lty=2,pch=2,lwd=2,main='Clinical Trials for DrugA',sub="This is hypothetical Response",xlab='Dosage',ylab='Drug Response',xlim=c(0,60),ylim=c(0,70))

1、标题

        可是使用title()函数为图形添加标题和坐标轴标签。调用格式如下:

title(main='main title',sub='subtitle',xlab='x-axis label',ylab='y-axis label')

       函数title()一般来说被用于添加信息到一个默认标题和坐标轴标签被ann=FALSE选项被移除的图形中。

        函数title()中也可以指定其他图形参数(如文本大小、字体、旋转角度和颜色)。如下代码将生成红色的标题和蓝色的副标题,以及比默认大小小25%的绿色x轴、 y轴标签:

plot(dose,drugA,type='b')
title(main="My Title",col.main='red',sub='My Subtitle',col.sub='blue',xlab='My x label',ylab='My y label',col.lab='green',cex.lab=0.75)

2、坐标轴

        我们可以使用axis()来创建自定义的坐标轴,而非使用R中的默认坐标轴。其格式为:

axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,...)

side:一个整数,表示在图形的哪边绘制坐标轴(1=下,2=左,3=上,4=右)

at:一个数值型向量,表示需要绘制刻度线的位置

labels:一个字符型向量,表示置于刻度线旁边的文字标签(如果为NULL,则直接使用at中的值)

pos:坐标轴线绘制位置的坐标(即与另一条坐标轴相交位置的值)

lty:线条类型

col:线条和刻度线的颜色

las:标签是否平行于(=0)或垂直于(=2)坐标轴

tck:刻度线的长度,以相对于绘图区与大小的分数表示(负值表示在图形外侧,正值表示在图形内侧,0表示禁用刻度,1表示绘制网格线),默认值为-0.01。

        自定义坐标轴时,我们应当禁用高级绘图函数自动生成的坐标轴。参数axes=FALSE将禁用全部坐标轴(包括坐标轴框架线)。参数xaxt="n"和yaxt="n"将分别禁用X轴或Y轴(会留下框架线)。

# 生成数据
x<-c(1:10)
y<-x
z<-10/x
# 参数设置
opar<-par(no.readonly=TRUE)
# 增加边界大小
par(mar=c(5,4,4,8)+0.1)
# 绘制x对y的图形
plot(x,y,type='b',pch=2,col='red',yaxt='n',lty=3,ann=FALSE)
# 添加x对1/x的直线
lines(x,z,type='b',pch=22,col='blue',lty=2)
# 自定义坐标轴
axis(2,at=x,labels=x,col.axis='red',las=2)
axis(4,at=z,labels=round(z,digits=2),col.axis='blue',las=2,cex.axis=0.7,tck=-0.01)
# 添加标题和文本
mtext('y=1/x',side=4,line=3,cex.lab=1,las=2,col='blue')
title('An Example of Creative Axes',xlab="X value",ylab='Y=X')
par(opar)

3、参考线

        函数abline()可以用来为图形添加参考线。其使用格式:

abline(h=yvalues,v=xvalues)

        函数abline()中也可以指定图形参数(如线条类型、颜色和宽度)。如下:

abline(h=c(1,5,7))
abline(v=seq(1,10,2),lty=2,col='blue')

4、图例

        当图形中包含的数据不止一组时,图例可以帮助我们辨别每个条形、扇形区域或折线各代表哪一类数据。我们可以使用函数legend()来添加图例。其使用格式为:

legend(location,title,legend,...)

location:我们可以直接给定图例左上角的x、y坐标,也可以执行locator(1),然后通过鼠标单击给出图例的位置,还可以使用关键字bottom、bottomleft、left、topleft、top、topright、right、bottomright、或center放置图例。如果我们使用了前面的某个关键字,我们还可以同时使用参数inset=指定图例向图形内侧移动的大小(以绘图区域大小的分数表示)

titile:图例标题的字符串(可选)

legend:图例标签组成的字符型向量

        其他常用的图例选项包括用于指定盒子样式的bty、指定背景色的bg、指定大小的cex,以及指定文本颜色的text.col。指定horiz=TRUE将水平放置图例。

# 录入数据
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)
par(lwd=2,cex=1.5,font.lab=2)
# 绘制图形
plot(dose,drugA,type='b',pch=15,lty=1,col='red',ylim=c(0,60),main='Drug A vs. Drug B',xlab='Drug Dosage',ylab='Drug Response')
lines(dose,drugB,type='b',pch=17,lty=2,col='blue')
# 绘制参考线
abline(h=c(30),lwd=1.5,lty=2,col='gray')
# 添加次刻度
library(Hmisc)
minor.tick(nx=3,ny=3,tick.ratio=0.5)
# 添加图例
legend('topleft',inset=0.05,title='Drug Type',c("A","B"),lty=c(1,2),pch=c(15,17),col=c('red','blue'))
par(opar)

5、文本标注

        我们可以通过函数text()和mtext()将文本添加到图形上。text()可向绘图区域内添加文本;而mtext()则向图形的四个边界之一添加文本。使用格式分别为:

text(location, "text to place", pos, ...)

mtext("text to place", side, line=n,...)

location:文本的位置参数。可以为一对x、y坐标,也可通过指定location为locator(1)使用坐标交互地确定摆放位置。

pos:文本相对于位置参数的方位。1=下,2=左,3=上,4=右。如果制定了pos,就可以同时指定参数offset=作为偏移量,以相对于单个字符宽度的比例表示。

side:指定用来放置文本的边。1=下,2=左,3=上,4=右。我们可以指定参数line=来内移或外移文本,随着值得增加,文本将外移。也可以使用adj=0将文本向左下对齐,或使用adj=1右上对齐。

# 示例1
attach(mtcars)plot(wt,mpg,main='Mileage vs.Weight',xlab='Weight',ylab='Mileage',pch=18,col='blue')text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col='red')
detach(mtcars)

# 示例2
opar<-par(no.readonly=TRUE)
par(cex=1.5)
plot(1:7,1:7,type='n')
text(3,3,"Example of default text")
text(4,4,family='mono','Example of mono-spaced text')
text(5,5,family='serif','Example of serif text')
par(opar)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快捷键专栏 IDEA、Navicat、电脑、Excle、Word等

标题 电脑篇windowsR 配合以下常用命令连上公司网线WiFi速度变慢问题解决Windows10 设置鼠标右键在此处打开cmd和Powershell窗口、关机打开电脑诊断工具系统设置常用设置查看电脑出场日期 systeminfo删除文件显示已在另一个程序打开&#xff1f;找回回收站删除的文件WindowsR输…

从sub-VP SDE形式推导出扰动核(高斯分布)的均值和方差【论文精读】

从sub-VP SDE形式推导出扰动核&#xff08;高斯分布&#xff09;的均值和方差【论文精读】 讲解视频 B站视频&#xff1a;sub-VP SDE形式推导出扰动核&#xff08;高斯分布&#xff09;的均值和方差 讲解目录 &#xff08;0&#xff09;sub-VP SDE形式由来&#xff1a;有良…

桌面应用开发框架比较:Electron、Flutter、Tauri、React Native 与 Qt

在当今快速发展的技术环境中&#xff0c;对跨平台桌面应用程序的需求正在不断激增。 开发人员面临着选择正确框架之挑战&#xff0c;以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。 在本文中&#xff0c;我们将比较五种流行的桌面应用程序开发框架&…

Ajax 快速入门

Ajax 概念&#xff1a;Ajax是一种Web开发技术&#xff0c;允许在不重新加载整个页面的情况下&#xff0c;与服务器交换数据并更新网页的部分内容。 作用&#xff1a; 数据交换&#xff1a;Ajax允许通过JavaScript向服务器发送请求&#xff0c;并能够接收服务器响应的数据。 异…

【人工智能】第五部分:ChatGPT的实际应用案例和未来发展方向

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

Ecovadis审核的内容

Ecovadis审核的内容。Ecovadis是一家国际性的企业社会责任评估机构&#xff0c;旨在为全球供应链的可持续性发展提供评估和审核。在本文中&#xff0c;我们将从以下几个方面详细介绍Ecovadis审核的内容&#xff1a; 一、Ecovadis审核的范围和目的 Ecovadis审核的范围涵盖了各个…

Halcon 多相机统一坐标系

小杨说事-基于Halcon的多相机坐标系统一原理个人理解_多相机标定统一坐标系-CSDN博客 一、概述 最近在搞多相机标定等的相关问题&#xff0c;对于很大的场景&#xff0c;单个相机的视野是不够的&#xff0c;就必须要统一到一个坐标系下&#xff0c;因此我也用了4个相机&#…

IDEA配置mybatis-config.xml模板文件

IDEA配置mybatis-config.xml模板文件 File>>Settings>>File and Code Templates 创建mybatis-config.xml模板 模板内容取自mybatis官网 mybatis官网 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC &qu…

理解数学概念——线性(线性性)

1. 线性相关词汇的词源 1.1 单词“line”的词源 这个单词是古英语“line”和古法语“ligne”二者的融合。在古英语中&#xff0c;“line”的词义为“缆绳&#xff0c;绳索&#xff1b;一系列&#xff0c;行&#xff0c;字母行&#xff1b;规则&#xff0c;方向(cable, rope; s…

TextCtrl输入文本类

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 wx.StaticText类只能够用于显示纯粹的静态文本&#xff0c;但是有时需要输入文本与用户进行交互&#xff0c;此时&#xff0c;就需要使用wx.TextCtrl…

什么是校园抄表系统?

1.校园抄表系统的简述 校园抄表系统是当代高校管理中的一个重要组成部分&#xff0c;主要运用于全自动搜集、管理方法与分析校园里的电力能源使用数据&#xff0c;如水电煤等。它通过先进的方式方法&#xff0c;完成了对能源消耗的实时监控系统&#xff0c;提升了电力能源管理…

GoogleDeepMind联合发布医学领域大语言模型论文技术讲解

Towards Expert-Level Medical Question Answering with Large Language Mod 这是一篇由Google Research和DeepMind合作发表的论文,题为"Towards Expert-Level Medical Question Answering with Large Language Models"。 我先整体介绍下这篇论文的主要内容&#x…

CCNA 0基础入门

OSI & TCP/IP OSI参考模型 TCP/IP协议 应用层 ------↓表示层 ------>应用层会话层 ------↑传输层 ------>传输层网络层 ------>网络互联层链路层 ------>网络接口层物理层 ------>↑ 物理层 传输的信号以及网线以及接线 主要作用是产生并检测电…

计算机网络:网络层 - IPv4数据报 ICMP协议

计算机网络&#xff1a;网络层 - IPv4数据报 & ICMP协议 IPv4数据报[版本 : 首部长度 : 区分服务 : 总长度][标识 : 标志 : 片偏移][生存时间 : 协议 : 首部检验和][可变部分 : 填充字段] ICMP协议 IPv4数据报 一个IPv4数据报&#xff0c;由首部和数据两部分组成&#xff…

大型语言模型(LLMs)的后门攻击和防御技术

大型语言模型&#xff08;LLMs&#xff09;通过训练在大量文本语料库上&#xff0c;展示了在多种自然语言处理&#xff08;NLP&#xff09;应用中取得最先进性能的能力。与基础语言模型相比&#xff0c;LLMs在少样本学习和零样本学习场景中取得了显著的性能提升&#xff0c;这得…

----几种接口的使用---

Compareable接口 对于给数组中的变量成员排序&#xff0c;我们能想到用sort&#xff0c;根据成员之间的大小进行排序&#xff0c;那么如果数组中的成员是对象的话&#xff0c;单单只是用sort去排序肯定是步成功的&#xff0c;因为并不知道要根据什么去排序&#xff0c; 这时要…

【漏洞复现】海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统&#xff0c;灵活、方便、人性化设计、内容的专业网站。海洋CMS基于PHPMySql技术开发&#xff0c;完全开源免费、无任何加密代码。简单易用是最大的特色&#xff0c;可快速建立一个海量 0x02 漏洞概述 海…

虚拟机开启网络代理设置

前言&#xff1a; 不管是物理主机还是实验环境中的VMware虚拟机&#xff0c;有时候总要访问一些镜像网站或者资源网站拉取一些学习资料&#xff0c;但由于国内外网络环境的差异和网络安全的问题。总是会被阻拦。物理机相对比较容易一些&#xff0c;今天我们来说一说虚拟机应该…

SpringBoot+Vue网上购物商城系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 系统角色对应功能 用户商家管理员 系统功能截图

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同&#xff1a;构造方法的名称必须与它所在的类名称完全相同&#xff0c;包括大小写。 无返回类型&#xff1a;构造方法没有返回类型声明&#xff0c;连void也不需要。虽然没有明确的返回类型&#xff0c;但它隐式地返回了新创建的实例的引…