gpt4 book ai didi

r - horizo​​ntal connectGrobs 并不总是连接到 boxGrob 的边缘

转载 作者:行者123 更新时间:2023-12-04 11:26:07 24 4
gpt4 key购买 nike

我正在运行示例 here ,并注意到将 Total 连接到 Ineligible boxGrobs 的水平箭头并不总是触及 Ineligible boxGrob 的左边缘。

这似乎取决于 RStudio 中查看窗口的宽度。垂直箭头似乎并非如此,它似乎总是完美地连接到正确的 boxGrob 的顶部。

有没有办法强制箭头触及盒子的侧面并且不再移动?我正在尝试将输出保存为 pdf,默认情况下它似乎使用更宽的绘图窗口,因此我所有的水平箭头都没有与正确的框对齐。

窄绘图窗口:

image

宽绘图窗口:

image

我尝试过手动创建一个面积更大的viewport,但这并没有改变 pdf 中的任何内容:

代码:

library(grid)
library(Gmisc)

vp <- grid::viewport(x = 10, y = 10, clip = 'on', xscale = c(0, 10),
yscale = c(0, 10), default.units = 'inch')
grid::pushViewport(vp)

leftx <- .25
midx <- .5
rightx <- .75
width <- .4
gp <- gpar(fill = "lightgrey")

# add box/connectors to the plot
(total <- boxGrob("Total\n N = NNN",
x=midx, y=.9, box_gp = gp, width = width))
(rando <- boxGrob("Randomized\n N = NNN",
x=midx, y=.75, box_gp = gp, width = width))

connectGrob(total, rando, "v")

(inel <- boxGrob("Ineligible\n N = NNN",
x=rightx, y=.825, box_gp = gp, width = .25, height = .05))

connectGrob(total, inel, "-")

最佳答案

暂时可以使用绝对单位来解决这个问题。

示例代码:

(inel <- boxGrob("Ineligible\n N = NNN", 
x=rightx, y=.825, box_gp = gp, width = unit(2, "inch"), height = .05))

关于r - horizo​​ntal connectGrobs 并不总是连接到 boxGrob 的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58089562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com