【发布时间】:2017-01-11 17:32:29
【问题描述】:
当axes 的纵横比设置为'auto' 时,是否有一种简单可靠的方法来确定其当前纵横比?
很明显要检查的是ax.get_aspect(),但它只返回'auto'。我可以通过ax.set_aspect(aspect) 将其设置为任意常量值,之后ax.get_aspect() 返回相同的常量。默认情况下(并且非常有用)我们有 aspect = 'auto',在这种情况下,纵横比会自动计算并调整以匹配数据限制和轴大小。
如何获得自动生成的数字纵横比选择了吗?
澄清一下,这既不是ax.get_data_ratio()返回的数据限制的纵横比,也不是返回的图形或子图显示大小的纵横比由fig.get_figheight() / fig.get_figwidth()(如图)。这有点微妙,因为它取决于显示大小和数据限制。 (这可能会导致混淆不同的比率以及我认为易于访问它很重要的原因。)
【问题讨论】:
-
你指的是什么纵横比?数据还是显示?
-
根据您对@Frank 回答的评论,我猜想显示或更复杂的东西。
-
不幸的是,这是“更复杂的东西”,@MadPhysicist。请参阅我编辑的问题。
-
我几乎得到了你的答案。等一下。
-
对不起,昨天我太累了,没有意识到我的解决方案只适用于 aspect='equal',但您要求的是其他情况。由于似乎没有一个简单的方法来获得这个,我请求了这个功能:github.com/matplotlib/matplotlib/issues/8013
标签: python matplotlib