R 水平接头G形接头D';t不要总是连接到箱子的边缘
我正在运行这个示例,并注意到将总数连接到不合格R 水平接头G形接头D';t不要总是连接到箱子的边缘,r,grid,grob,gmisc,R,Grid,Grob,Gmisc,我正在运行这个示例,并注意到将总数连接到不合格boxGrob的水平箭头并不总是接触不合格boxGrob的左边缘 这似乎取决于RStudio中查看窗口的宽度。垂直箭头似乎并非如此,它似乎总是完美地连接到正确的boxGrob顶部 有没有办法迫使箭头触碰盒子的侧面而不再继续?我试图将输出保存为pdf格式,默认情况下,它似乎使用了更宽的打印窗口,因此我的所有水平箭头都不会与正确的框对齐 窄打印窗口: library(grid) library(Gmisc) vp <- grid::viewpor
boxGrob
的水平箭头并不总是接触不合格boxGrob
的左边缘
这似乎取决于RStudio中查看窗口的宽度。垂直箭头似乎并非如此,它似乎总是完美地连接到正确的boxGrob
顶部
有没有办法迫使箭头触碰盒子的侧面而不再继续?我试图将输出保存为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, "-")
宽打印窗口:
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, "-")
我曾尝试手动创建一个面积更大的视口
,但这并没有改变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, "-")
库(网格)
图书馆(Gmisc)
目前,这个问题可以用绝对单位来解决
示例代码:
(inel <- boxGrob("Ineligible\n N = NNN",
x=rightx, y=.825, box_gp = gp, width = unit(2, "inch"), height = .05))
(非常棒,对我有用,谢谢:)你说“暂时”。这是一个已知的问题吗?“暂时”的原因是我想你可能喜欢相对尺度(而且我的英语很差,对不起)。如果你对绝对量表满意,请忽略这句话。我很高兴你高兴。