【发布时间】:2015-04-01 20:27:43
【问题描述】:
我有许多图,其中 x 轴和 y 轴以厘米为单位,并且我已经在使用 axis('equal') 来确保正确的纵横比。我想打印出这些图,以便在我测量轴内的距离时,这些距离对应于现实世界的厘米。
也就是说,图中 3 个单位 (cm) 长的线应打印为 3 cm 长。 (一个更复杂的例子是在 Matplotlib 中绘制尺子,然后将其打印出来以使用 /as/ 尺子。)我在 matlab 和 mathematica 中找到了解决方案,但不适用于 Matplotlib。有没有一个神奇的公式来实现这一点?我相信它需要一个特殊的组合/排序:figure(figsize=??), axis('equal')、fig.canvas.draw()、fig.savefig('filename',format="??"),可能是一些带有fig.bbox 参数的数学,可能还有一个或多个 dpi 设置。我尝试了很多组合,但没有找到正确的组合。也许有一种更简单的方法......
【问题讨论】:
-
我认为缺少的步骤是强制 Axes 对象成为测量图形大小的已知比例,然后设置轴限制,以便数据单位与实际单位匹配。跨度>
标签: python printing matplotlib plot scaling