gpt4 book ai didi

python - Matplotlib 补丁大小(以点为单位)

转载 作者:行者123 更新时间:2023-11-28 17:32:04 25 4
gpt4 key购买 nike

如何使用点/英寸尺寸在 matplotlib 中绘制形状?

我已经阅读了补丁/转换文档,所以我了解如何在像素、数据、轴或图形坐标中工作,但我不知道如何以点/英寸为单位标注矩形。

理想情况下,我想在数据坐标中放置一个矩形,但以点为单位设置其大小,就像线标记的工作方式一样。

这是我尝试创建的情节示例。我目前将黑色和红色框定位在(数据、轴)坐标中。这在图形大小已知时有效,但在重新缩放时失败,因为即使文本大小不变,框也会变小。

enter image description here

enter image description here

最佳答案

在这个问题的帮助下最终弄明白了:How do I offset lines in matplotlib by X points

没有以点为单位指定补丁尺寸的内置方法,因此您必须手动计算轴或数据坐标与英寸/点的比率。这个比率当然会根据图形/轴的大小而变化。

这是通过轴变换运行 (1, 1) 点并查看它在像素坐标中的最终位置来实现的。然后可以通过图形 dpi 将像素转换为英寸或点。

t = axes.transAxes.transform([(0,0), (1,1)])
t = axes.get_figure().get_dpi() / (t[1,1] - t[0,1]) / 72

# Height = 18 points
height = 18 * t

enter image description here enter image description here

关于python - Matplotlib 补丁大小(以点为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com