思路

  grid的画图函数都含有just,但是just参数的是怎么调节图形位置的总是让人非常费解,于是便写了代码来一探究竟。
  思路非常简单:放一个2*2的布局viewport,每个布局里面放一个viewport,每个viewport都用了不同的just参数。just之后的矩形用蓝色显示,中心点的移动用箭头表示出来, 这样每个参数对应图形怎么移动的都能一目了然。从以下的代码也能学到如何安排布局, 如何使用grobX和grobY获得grob对象的坐标, 如何进行基本的viewport切换等。

代码

library(grid)grid.newpage()  # new page
pushViewport(viewport(layout = grid.layout(2,2))) # 2 *2 layout# just top
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 1))
grid.rect()
r1 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, name = "r1")
r2 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, just = c("top"),gp=gpar(col="blue"), name = "r2")
grid.draw(r1)
grid.draw(r2)
grid.segments(0.5,0.5,grobX(r2, 90), grobY(r2, 0), arrow=arrow(angle=15, type="closed"), gp=gpar(fill="black"))
grid.text("just: top" ,0.6, 0.8)
upViewport()# just left and top
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 2))
grid.rect()
r1 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, name="r1")
r2 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, just = c("left", "top"), gp=gpar(col="blue"), name="r2")
grid.draw(r1)
grid.draw(r2)
grid.segments(0.5, 0.5, grobX(r2, 90), grobY(r2, 0), arrow=arrow(angle=15, type="closed",), gp=gpar(fill="black"))
grid.text("just: left and top", 0.6, 0.8)
upViewport()# just left and bottom
pushViewport(viewport(layout.pos.col = 2, layout.pos.row = 1))
grid.rect()
r1 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, name="r1")
r2 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, just = c("left", "bottom"), gp=gpar(col="blue"), name="r2")
grid.draw(r1)
grid.draw(r2)
grid.segments(0.5, 0.5,grobX(r2, 90), grobY(r2, 0), arrow=arrow(angle=15, type="closed",), gp=gpar(fill="black"))
grid.text("just: left and bottom", 0.6, 0.8)
upViewport()# just right bottom
pushViewport(viewport(layout.pos.col = 2, layout.pos.row = 2))
grid.rect()
r1 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, name="r1")
r2 <- rectGrob(0.5, 0.5, width = 0.2, height = 0.2, just = c("right", "bottom"), gp=gpar(col="blue"), name = "r2")
grid.draw(r1)
grid.draw(r2)
grid.segments(0.5,0.5,grobX(r2, 90), grobY(r2, 0), arrow=arrow(angle=15, type="closed",), gp=gpar(fill="black"))
grid.text("just: right and bottom", 0.6, 0.8)
upViewport()

结果

结论

  • just参数对图形进行相反的调节,比如想向上调节图形,就得调节just="bottom",也可以理解为真实位置相对于画图位置,比如真实位置要比画图位置要低,就用just="bottom“
  • grobX角度为90时, grobY 角度为0时,可获得图形的中心位置, grobX 为0时X位置在图形的最右, grobY 为0时Y位置在图形的中间

转载于:https://www.cnblogs.com/ywliao/p/9562180.html

R语言grid包just参数如何just图形位置相关推荐

  1. R语言plotly包可视化线图(line plot)、使用restyle参数自定义设置可视化结果中线条的颜色、使用按钮动态切换线条的颜色(change line color with button)

    R语言plotly包可视化线图(line plot).使用restyle参数自定义设置可视化结果中线条的颜色.使用按钮动态切换线条的颜色(change line color with button i ...

  2. R语言caret包构建xgboost模型实战:特征工程(连续数据离散化、因子化、无用特征删除)、配置模型参数(随机超参数寻优、10折交叉验证)并训练模型

    R语言caret包构建xgboost模型实战:特征工程(连续数据离散化.因子化.无用特征删除).配置模型参数(随机超参数寻优.10折交叉验证)并训练模型 目录

  3. R语言可视化包ggplot2包绘制多个图形并将多个图像垂直堆叠c成一个图像实战(grid.arrange)

    R语言可视化包ggplot2包绘制多个图形并将多个图像垂直堆叠c成一个图像实战(grid.arrange) 目录

  4. R语言survival包的survfit函数拟合生存曲线数据、survminer包的ggsurvplot函数可视化生存曲线、size参数指定曲线粗细、palette参数自定义生存曲线的颜色

    R语言survival包的survfit函数拟合生存曲线数据.survminer包的ggsurvplot函数可视化生存曲线.size参数指定曲线粗细.palette参数自定义生存曲线的颜色 目录

  5. R语言patchwork包将多个可视化结果组合起来、使用plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义前缀信息

    R语言patchwork包将多个可视化结果组合起来.使用plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码.为组合图的标签添加自定义前缀信息 目录

  6. R语言patchwork包将多个ggplot2可视化结果组合起来、使用plot_annotation函数以及tag_level参数为组合图添加自定义编码序列(字符向量列表)

    R语言patchwork包将多个ggplot2可视化结果组合起来.使用plot_annotation函数以及tag_level参数为组合图添加自定义编码序列(字符向量列表) 目录

  7. R语言GD包基于栅格图像实现地理探测器与连续参数的自动离散化

      本文介绍基于R语言中的GD包,依据栅格影像数据,实现自变量最优离散化方法选取与执行,并进行地理探测器(Geodetector)操作的方法.   首先,在R语言中进行地理探测器操作,可通过geode ...

  8. R语言survminer包的ggsurvplot函数可视化生存曲线、censor.shape参数指定删失数据标签形状、censor.size参数指定删失标签的大小

    R语言survival包的survfit函数拟合生存曲线数据.survminer包的ggsurvplot函数可视化生存曲线.censor.shape参数指定删失数据标签形状.censor.size参数 ...

  9. R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数、指定na.rm参数配置删除缺失值

    R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数.指定na.rm参数配置删除缺失值(Summarize with Custom Fun ...

  10. R语言survival包的survfit函数拟合生存曲线数据、survminer包的ggsurvevents函数可视化生存时间分布图、设置normalized参数归一化比例结果

    R语言survival包的survfit函数拟合生存曲线数据.survminer包的ggsurvevents函数可视化生存时间分布图.设置normalized参数归一化比例结果 目录

最新文章

  1. VINS(八)初始化
  2. NSBundle使用:获取文件路径
  3. matlab练习程序(LMS)
  4. C#中泛型在Class上的实现
  5. php查询文件名,php怎么查询文件名
  6. Java对象转出json并过滤指定属性
  7. python乒乓球比赛规则介绍_乒乓球的比赛规则介绍
  8. Python 在数据科学中一直打压 R 语言?
  9. Swift - 29 - 参数的默认值
  10. Maven的基本使用
  11. 打印时总跟出一页计算机主的纸,如何将多页PDF打印在一张纸上
  12. 74HC138 三八译码器
  13. 自由手写体字帖pdf_行楷钢笔字帖下载-行楷字帖电子版pdf版 - 极光下载站
  14. R语言实现非线性回归
  15. 【计算机毕业设计】外卖点餐源码
  16. linux C语言多线程 轻进程 LWP:Light Weight Process
  17. EXCEL转PDF最便捷的方法
  18. URP shader 学习笔记
  19. 小萝莉说Crash(二): Unrecognized selector xxx 之 ForwardInvocation
  20. 水果店刚起步要怎么做,一家水果店要准备什么

热门文章

  1. jsp注释%-- -- % 和 !-- -- 的区别
  2. MyEclipse内存不足配置
  3. 业务员的3个经典故事
  4. FeelYourSound Chillout Engine Pro for Mac - MIDI文件生成插件
  5. 延时摄影制作软件——GlueMotion for Mac支持m1
  6. macOS Recovery中修复磁盘的具体操作方法
  7. vue-cli3的安装使用
  8. SpringBoot系列: 所有配置属性和官方文档
  9. Puppet 实验十三 Foreman 基础使用
  10. WCF分布式开发常见错误(17):无法启动MSMQ服务