gpt4 book ai didi

R 绘图限制和轴标签/标题之间的通用距离

转载 作者:行者123 更新时间:2023-12-04 08:56:54 25 4
gpt4 key购买 nike

在 R 绘图环境中,有没有办法指定轴标签和轴名称相对于绘图边界的位置之间的通用距离?例如,考虑以下测试图的 Y 轴:

pdf('test1.pdf',height=3.5,width=5.0)
plot(1,ylab=NA,yaxt='n',ann=F)
mtext('Y-Axis Label',side=2,line=1.5)
axis(2, pos=0.595,tick=F)
dev.off()
我使用 line=1.5 优化了轴标签和轴名称的位置。和 pos=0.595 mtext内的参数和 axis功能,分别。但是,一旦我生成了一个具有不同宽度的单独绘图(即 width=8.0 ),位置就不再类似于我在原始图中使用 5.0 的宽度指定的物理距离。所以问题是 - 我如何指定这些参数,以便标签和名称与图形边界的距离完全相同,而不管绘图宽度如何。这可以使用通用单位(即像素)指定吗?
提前致谢!

最佳答案

试试 grconvertX但是您必须跟踪您需要输出的方式。 mtext(..., line = )是成行的,而 axis(..., pos = )期待用户坐标。您还需要使用 grconvertY在适当的情况下(即,在第 1 和第 3 侧)

pdf('test1.pdf',height=3.5,width=5.0)
plot(1,ylab=NA,yaxt='n',ann=F)
mtext('Y-Axis Label',side=2,line=1.5)
axis(2, pos=0.595,tick=F)

line <- grconvertX(1.5, 'lines', 'device')
pos <- grconvertX(0.595, 'user', 'device')
dev.off()


pdf('test1-again.pdf',height=3.5,width=5)
plot(1,ylab=NA,yaxt='n',ann=F)
mtext('Y-Axis Label',side=2, line = grconvertX(line, 'device', 'lines'))
axis(2, pos = grconvertX(pos, 'device', 'user'), tick = FALSE)
dev.off()


pdf('test1-wide.pdf',height=3.5,width=8)
plot(1,ylab=NA,yaxt='n',ann=F)
mtext('Y-Axis Label',side=2, line = grconvertX(line, 'device', 'lines'))
axis(2, pos = grconvertX(pos, 'device', 'user'), tick = FALSE)
dev.off()

关于R 绘图限制和轴标签/标题之间的通用距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63771821/

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