【发布时间】:2014-08-26 04:48:17
【问题描述】:
我想做什么:
我想以 matplotlib 世界单位(不是屏幕像素)获取文本实例的位置和尺寸,目的是计算和防止文本重叠。
我正在 Mac OSX 10.9.3、Python 2.7.5、matplotlib 1.3.1 上进行开发。
我尝试过的:
让 t 成为一个文本实例。
-
t.get_window_extent(renderer):
这会得到以像素为单位的边界框尺寸,并且我需要世界坐标(在我的情况下在 -1.0 和 1.0 之间标准化)。
-
t._get_bbox_patch():
t = ax.text(x, y, text_string, prop_dict, bbox=dict(facecolor='red', alpha=0.5, boxstyle='square')) print t._get_bbox_patch()当我执行上述序列时,输出为
FancyBboxPatchFancyBboxPatch(0,0;1x1)。在我生成的图像中,文本实例使用红色边界框正确渲染,因此输出使我认为 FancyBbox 已实例化,但在渲染时间之前并未实际填充实际尺寸。
那么,我怎样才能在我用于传递的 x 和 y 参数的相同坐标系统单位中获取文本实例边界框的位置和尺寸到ax.text(...)?
【问题讨论】:
标签: python macos matplotlib