【发布时间】:2015-01-08 14:41:05
【问题描述】:
我正在尝试在条形图中的水平条上绘制单词,因此单词的顶部和底部只是刷过条形图的顶部和底部。这归结为能够为文本计算一个紧密的边界框,包括下降和上升。例如,考虑
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)。由于下降问题,它似乎与那里的解决方案似乎不完全一样。
【问题讨论】:
-
也许你可以把它变成一个表达式:
text(3, 7, ex <- expression("sample"), adj=c(0,0), cex=3 ); sh <- strheight(ex) -
看起来很完美,@lukeA - 作为答案发布?