Matplotlib修补程序大小(磅)

2024-04-23 15:52:38 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我已经看过了补丁/转换文档,因此我了解如何在像素、数据、轴或图形坐标中工作,但我无法确定如何以点/英寸为单位标注矩形。在

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

这是一个我试图创造的情节的例子。我目前在(数据,轴)坐标系中定位黑框和红框。当图形为已知大小时,此操作有效,但当框变小(即使文本大小为常量)时,此操作将失败。在

enter image description here

enter image description here


Tags: 数据文档定位图形matplotlib尺寸绘制情况
1条回答
网友
1楼 · 发布于 2024-04-23 15:52:38

最后在这个问题的帮助下解决了这个问题: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 hereenter image description here

相关问题 更多 >