在R语言中,对于图中的点来说,有很多种坐标系来进行定位

举个例子:

par(omi = c(1, 1, 1, 1), mai = c(1, 1, 1, 1), mfrow = c(1, 2))
plot(1:5)
box(which = "plot", col = "red", lwd = 2)
box(which = "figure", col = "red", lwd = 2)
plot(1:5)
box(which = "plot", col = "blue", lwd = 2)
box(which = "figure", col = "blue", lwd = 2)

产生的图片如下:

对于图中的某个具体的点来说,以蓝色子图中的点 (2, 2) 为例,有很多的坐标系统对这个点进行定位:

1) user coordinate system : 最常用的坐标系,就是x轴和y轴构成的坐标系;x轴对应坐标为2, y轴对应坐标为2

2)inches coordinate system : 图像左下角为(0, 0), 距离图像的下边缘和左边缘的实际距离,单位为 inches

代码示例:

> grconvertX(2, from = "user", to = "inches")
[1] 4.634259
> grconvertY(2, from = "user", to = "inches")
[1] 2.802758

通过gronvert 系列 函数可以看到每个点距离图像的下边缘和左边缘的实际距离

3)device coordinate system : 绘图设备系统,单位为

代码示例:

> par(omi = c(1, 1, 1, 1), mai = c(1, 1, 1, 1), yaxs = "i", xaxs = "i")
> plot(1:5)
> grconvertX(1, from = "user", to = "dev")
[1] 192

我们知道点1与绘图设备的水平距离为2 inches , 2 inches = 192 pixes, 所以1 inches = 96 pixes ,  相对于incehs coordinate system, 只不过换了一个单位而已

device coordinate system 的衡量单位为像素

4) normalized coordinate system: 以绘图设备的左下角为坐标原点,将长和宽归一化成(0, 1)的区间,整个坐标系统中,绘图设备的左下角为(0,0), 右上角为(1,1)

代码示例:

> grconvertX(2, from = "user", to = "ndc")
[1] 0.662037
> grconvertY(2, from = "user", to = "ndc")
[1] 0.4009908

相当于下面的代码:

> grconvertX(2, from = "user", to = "inches") / par("din")[1]
[1] 0.662037
> grconvertY(2, from = "user", to = "inches") / par("din")[2]
[1] 0.4009908

从上面的代码看出来,normalized coordinate system 系统中点的坐标实际为在绘图设备中的inches / 绘图设备的长或者宽

3) normalized figure system: 和normalize device system 系统类似,只不过是这次相对于figure region 进行了归一化

> grconvertX(2, from = "user", to = "nfc")
[1] 0.4537037
> grconvertY(2, from = "user", to = "nfc")
[1] 0.3613044

相当于下面的代码:

> (grconvertX(2, from = "user", to = "inches") - par("fin")[1] - par("omi")[2])/ par("fin")[1]
[1] 0.4537037
> (grconvertY(2, from = "user", to = "inches") - par("omi")[1])/ par("fin")[2]
[1] 0.3613044

从上面的代码,可以看出相对于figure region进行了归一化

4) normalize plot system : 和normalize device system 系统类似,只不过是这次相对于plot region 进行了归一化

代码示例:

> grconvertX(2, from = "user", to = "npc")
[1] 0.2685185
> grconvertY(2, from = "user", to = "npc")
[1] 0.2685185

相当于下面的代码

> (2 - par("usr")[1]) / (par("usr")[2] - par("usr")[1])
[1] 0.2685185
> (2 - par("usr")[3]) / (par("usr")[4] - par("usr")[3])
[1] 0.2685185

从上面的代码中,就可以看出来归一化的过程

R绘图系统中的坐标系相关推荐

  1. 自动驾驶系统中的坐标系

    自动驾驶系统中的坐标系 自动驾驶汽车一般由相机.激光雷达.IMU和RTK等传感器组成,相对应的主要有以下四个坐标系:LiDAR坐标系.相机坐标系.图像坐标系.世界坐标系,四个坐标系可以通过参数进行转化 ...

  2. 数字图像处理:视觉系统中的坐标系介绍

    参考: 图像坐标系.摄像机坐标系与世界坐标系 四个坐标系简介和转换 世界坐标.相机坐标.图像坐标.像素坐标的原理.关系,并用matlab仿真 1.像素坐标系(Pixel coordinate syst ...

  3. conda安装r Linux系统中

    使用源码编译安装失败之后,使用conda安装r,成功! Managing R and RStudio with condaHoping to help level out the steep lear ...

  4. 在macOS系统中如何为R语言绘图(ggplot2)添加宋体和新罗马字体。

    install.packages("showtext") library(showtext) y2<-font_files() View(y2) #查看从系统导入的字体以及字 ...

  5. 技巧 | 如何使用R语言的基础绘图系统的拼图功能

    我们知道ggplot2工具包有很多方便的拼图拓展包,如cowplot.patchwork等,而本篇就来介绍在使用R语言的基础绘图系统如何进行拼图.需要明确的是,基础绘图系统的拼图功能不需要借助任何其他 ...

  6. graphics | 基础绘图系统(八)——棘状图、符号图、多边形(路径)图、Cohen-Friendly关联图、条件密度图...

    本篇继续介绍基础绘图系统中的几个绘图函数. spineplot() 该函数用于绘制棘状图,有以下两种语法结构: spineplot(x, y = NULL,breaks = NULL, tol.yla ...

  7. R绘图笔记 | 小提琴图与漂亮的云雨图绘制

    参考前文:R绘图笔记 | R语言绘图系统与常见绘图函数及参数 关于绘图图,前面介绍了一些: R绘图笔记 | 一般的散点图绘制 R绘图笔记 | 柱状图绘制 R绘图笔记 | 直方图和核密度估计图的绘制 R ...

  8. 【转 | 侵删】2D 绘图技术中的坐标系统与坐标变换

    本文介绍在 2D 绘图技术中的坐标系统和坐标变换的相关知识.同时介绍 Kity 在这方面提供的 API .希望这些知识对于需要进行图形应用开发的同学会有所帮助. 锤子的故事 很久以前,有一个画家,他很 ...

  9. SAP R/3系统技术

    附录二 SAP R/3应用模块介绍 附录B财务会计(FI) 附录B.1总分类帐 会计科目表 总分类帐会计核算所使用的会计科目表既可以用于单个的公司,也可以运用于整个集团公司.如果SAP的系统必须同时满 ...

最新文章

  1. 【笔记】震惊!世上最接地气的字符串浅谈(HASH+KMP)
  2. vue 绑定事件,获取元素对象
  3. 基于HIP6601的MOS的半桥电路测试
  4. java类的继承(下)
  5. 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...
  6. html 调用main方法,ipcmain和ipcrenderer从index.html调用main.js函数
  7. python实现WebsocketServer 服务端
  8. opengl 大作业_「陪玩时光」糕妈:说说年糕的小学生活,先从陪作业和家长群聊起...
  9. 使用 Parallel HTTP Request 根据配置文件动态发送多个 HTTP 请求的失败尝试
  10. 本地存储cookie和localStorage区别特点
  11. OJ(Online Judge)系统汇总
  12. 初识Matlab遗传算法工具箱 ga
  13. HDU2041 超级楼梯
  14. CommonJS的值拷贝与ES6的动态映射
  15. 小白调用soso街景API
  16. 医院计算机管理工资,医院绩效管理平台:绩效工资管理系统
  17. [Audacity][帮助手册][手册内容]认识Audacity
  18. css 侧栏跟随_JS+CSS实现侧边栏跟随浏览器滚动效果
  19. . 显示隐藏文件夹选项消失时如何还原
  20. 字节跳动打响「教育战」

热门文章

  1. [攻防世界 pwn]——welpwn
  2. 自定义字符串查找函数c语言,(C语言自定义函数,/*编写函数实现在字符串pStr中查找子串pSub int subString( char* pStr, char* pSub);...
  3. zookeeper 命令
  4. Spring 3.0参考之SpEL
  5. ExtJS 2.0官方实例目录
  6. spring 基于注解的控制器配置
  7. 嵌入式系统开发怎样快速度入门
  8. 关于haproxy的重定向
  9. spring 七种事务
  10. 译: 3. RabbitMQ Spring AMQP 之 Publish/Subscribe 发布和订阅