python文字 边框_Matplotlib文本边框尺寸

这可能会有点帮助。在import matplotlib.pyplot as plt

f = plt.figure()

ax = f.add_subplot(111)

ax.plot([0,10], [4,0])

t = ax.text(3.2, 2.1, "testing...")

# get the inverse of the transformation from data coordinates to pixels

transf = ax.transData.inverted()

bb = t.get_window_extent(renderer = f.canvas.renderer)

bb_datacoords = bb.transformed(transf)

# Bbox('array([[ 3.2 , 2.1 ],\n [ 4.21607125, 2.23034396]])')

这应该是你想要的。如果您想用图形坐标(0..1,0..1)表示坐标,那么使用ax.transAxes的逆函数。在

然而,这个解决方案有一个小问题。摘录自matplotlib文档:

任何文本实例都可以在窗口坐标系中报告其范围(负x坐标在窗口外部),但有一个问题。

用于计算文本大小的RendererBase实例在绘制图形之前是未知的(draw())。在绘制窗口并且文本实例知道其呈现器之后,可以调用get_window_extent()。

因此,在图形真正绘制之前,似乎无法确定文本大小。在

顺便说一句,您可能已经注意到Bbox实例具有方法overlaps,该方法可用于确定Bbox是否与另一个(bb1.overlaps(bb2))重叠。这在某些情况下可能有用,但它不能回答“多少”的问题。在

如果你有旋转的文本,你将很难看到它们是否重叠,但你可能已经知道了。在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值