R 无论打印尺寸如何,对文本()和图例()使用恒定垂直调整
要在R 无论打印尺寸如何,对文本()和图例()使用恒定垂直调整,r,R,要在R中为条形图绘制X轴标签,我使用text()如下所示: text(mean(bp), par("usr")[3] - 0.05*yDiff, xpd=NA, labels=journey, cex=0.9, font=2) legend("bottom", legend=abbrevLabels, fill=c(colors), xpd=NA, horiz=TRUE, bty="n", cex=1.0, inset=c(0, -0.3), xjust=0, adj=0.035,
R
中为条形图绘制X轴标签,我使用text()
如下所示:
text(mean(bp), par("usr")[3] - 0.05*yDiff, xpd=NA, labels=journey, cex=0.9, font=2)
legend("bottom", legend=abbrevLabels, fill=c(colors), xpd=NA, horiz=TRUE, bty="n",
cex=1.0, inset=c(0, -0.3), xjust=0, adj=0.035,
text.width=rep(meanLabelLen/7.5, length(legendLabels)))
要绘制图例,我使用以下内容:
text(mean(bp), par("usr")[3] - 0.05*yDiff, xpd=NA, labels=journey, cex=0.9, font=2)
legend("bottom", legend=abbrevLabels, fill=c(colors), xpd=NA, horiz=TRUE, bty="n",
cex=1.0, inset=c(0, -0.3), xjust=0, adj=0.035,
text.width=rep(meanLabelLen/7.5, length(legendLabels)))
此处的两个垂直偏移(图例的0.05*yDiff
和插入偏移-0.3
)均位于Y轴空间。出于各种原因,这对我来说是个问题。相反,我更喜欢以像素为单位的偏移。也就是说,我真正想说的是:“渲染图形底部以下10个像素的标签”
如何做到这一点?对于位于条形图下方(位于此类图的较大网格底部)的水平X轴标签的恒定垂直偏移,使用
title
和line
属性具有与设备大小无关的一致行为/位置。我现在做的是:
title(xlab=journey, line=0, cex=0.8, font.lab=2, xpd=NA)
其中,line
是整数,0
是离绘图最近的,更高的整数离绘图更远(在负Y方向)
对于图例,我无法找到一个独立于网格尺寸或设备大小的恒定垂直偏移。这里有几点:
到yjust
图例的参数根本不起作用。我在网上寻找例子,但无论我使用了什么值,
都是不可能的yjust
参数确实有效,但遗憾的是,它没有与y
的描述性属性结合使用;也就是说,如果x
设置为x
,则不能同时设置bottom
。我发现这种行为令人不安,因为我通常认为这些坐标相互独立y
yInset <- 0.4 * (1.075 - par("fin")[2] / dev.size("in")[2])
legend(x='bottom', yjust=-0.75, inset=c(0, -yInset), legend=abbrevLabels, fill=c(colors), xpd=NA, horiz=TRUE, bty="n", cex=1.0, adj=0.035, text.width=rep(meanLabelLen/7.5, length(legendLabels)))
yInset你真的应该这样做,这样我们才能理解你想要什么。不幸的是我不能。图表内容是专有的。当然可以,在这种情况下,请考虑。表现出一些努力!:)