有点莫名其妙,length参数in arrows以英寸(从?arrows)为单位:
length箭头边缘的长度(以英寸为单位).
R源甚至可以明确地指出这个测量在评论中以英寸为单位,突出了这种设计的特殊性.
这意味着箭头的相对大小取决于dev.size().目前尚不清楚如何将英寸转换为轴单位(首先是无限更有用).这是一个简化版本:
h = c(1, 2, 3)
xs = barplot(h, space = 0, ylim = c(0, 4))
arrows(xs, h - .5, xs, h + .5,
length = .5*mean(diff(xs)))
Run Code Online (Sandbox Code Playgroud)
显示方式取决于设备.例如,这是该设备上的输出:
png('test.png', width = 5, height = 5)
Run Code Online (Sandbox Code Playgroud)
这是另一个:
png('test.png', width = 8, height = 8)
Run Code Online (Sandbox Code Playgroud)
这看起来有点视错觉,但两个图中的箭头宽度确实相同.如何控制这个以便两个图(传达相同的数据)显示相同?更具体地说,我如何确保箭头的宽度正好为 .5个单位?