2024-03-29 05:53:08 发布
网友
例如,我可以使用
fig, ax = plt.subplots(1,1) obj = ax.text(0.2, 0.6, "something", bbox = dict(boxstyle = 'round'))
现在我想得到图中的圆角点。我试过使用
obj.clipbox.corners()
但它不返回绘图的点,它与绘图中的点不匹配。也尝试过使用
obj.clipbox.transformed(...)
还是不行。我可以在这方面寻求帮助吗?谢谢。你知道吗
首先请注意,clipbox是剪辑艺术家的方框。这通常是轴边界框。因此,它与文本周围的框无关。你知道吗
clipbox
现在你可以通过
obj = ax.text(...) box = obj.get_bbox_patch()
问题是文本周围框的大小和位置只有在实际绘制文本时才能确定。在此之前,它不知道它在哪里。你知道吗
所以首先你需要画画布。这将更新长方体的坐标。然后可以通过box.get_window_extent()获得框的窗口范围。这将给出显示空间中的坐标(图形的像素),因此需要将它们转换回数据坐标。你知道吗
box.get_window_extent()
fig.canvas.draw() coords = ax.transData.inverted().transform(box.get_window_extent()) print(coords)
这个指纹
[[ 0.19159946 0.58060967] [ 0.35633401 0.64103535]]
这是文本周围框的数据坐标(第一行左下角,第二行右上角)。你知道吗
首先请注意,
clipbox
是剪辑艺术家的方框。这通常是轴边界框。因此,它与文本周围的框无关。你知道吗现在你可以通过
问题是文本周围框的大小和位置只有在实际绘制文本时才能确定。在此之前,它不知道它在哪里。你知道吗
所以首先你需要画画布。这将更新长方体的坐标。然后可以通过
box.get_window_extent()
获得框的窗口范围。这将给出显示空间中的坐标(图形的像素),因此需要将它们转换回数据坐标。你知道吗这个指纹
这是文本周围框的数据坐标(第一行左下角,第二行右上角)。你知道吗
相关问题 更多 >
编程相关推荐