2

我试图在条形图中的水平条上绘制单词,因此单词的顶部和底部只是刷过条形图的顶部和底部。这归结为能够为文本计算一个紧密的边界框,包括下降和上升。例如,考虑

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 )

这个问题与查找边界框有关(请参阅相关的堆栈溢出问题)。由于下降问题,它似乎与那里的解决方案似乎不完全一样。

4

1 回答 1

2

尝试

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  ) )
于 2015-01-09T08:34:58.783 回答