计算图上文本的边界框,包括基线以下的文本
Calculate bounding box of text on plot including text below baseline
我正在尝试在条形图中的水平条上绘制文字,因此文字的顶部和底部刚好刷过条形图的顶部和底部。这归结为能够为包括下行和上行的文本计算一个紧密的边界框。例如,考虑
plot( 1:10, 1:10 )
text( 3, 7, "sample", adj=c(0,0), cex=3 )
sh = strheight( "sample" )
abline( h=c( 7, 7+3*sh ) )
请注意,顶行恰好与 "l" 匹配。 "p" 从底线下降。
这里如何算出合适的底线?
或者,我如何绘制文本以填充给定的高度,例如:
plot( 1:10, 1:10 )
ht = 2
abline( h=c( 7, 7+ht ) )
sh = strheight( "sample" )
sh
text( 3, 7, "sample", adj=c(0,0), cex=2/sh )
这个问题与寻找边界框有关(参见 related stack overflow question)。由于下降器问题,它似乎不一样,那里的解决方案似乎没有完全奏效。
尝试
plot( 1:10, 1:10 )
text(3, 7, ex <- expression("sample"), adj=c(0,0), cex=3 )
sh <- strheight(ex)
abline( h=c( 7, 7+3*sh ) )
我正在尝试在条形图中的水平条上绘制文字,因此文字的顶部和底部刚好刷过条形图的顶部和底部。这归结为能够为包括下行和上行的文本计算一个紧密的边界框。例如,考虑
plot( 1:10, 1:10 )
text( 3, 7, "sample", adj=c(0,0), cex=3 )
sh = strheight( "sample" )
abline( h=c( 7, 7+3*sh ) )
请注意,顶行恰好与 "l" 匹配。 "p" 从底线下降。
这里如何算出合适的底线?
或者,我如何绘制文本以填充给定的高度,例如:
plot( 1:10, 1:10 )
ht = 2
abline( h=c( 7, 7+ht ) )
sh = strheight( "sample" )
sh
text( 3, 7, "sample", adj=c(0,0), cex=2/sh )
这个问题与寻找边界框有关(参见 related stack overflow question)。由于下降器问题,它似乎不一样,那里的解决方案似乎没有完全奏效。
尝试
plot( 1:10, 1:10 )
text(3, 7, ex <- expression("sample"), adj=c(0,0), cex=3 )
sh <- strheight(ex)
abline( h=c( 7, 7+3*sh ) )