我需要自动生成几个二维数据集的散点图。
默认情况下,宽高比设置为ax.set_aspect(aspect='equal')
,这在大多数情况下都有效,因为x,y
值或多或少分布在一个平方区域中。
不过,有时我会遇到一个数据集,当用equal
比率绘制时,它看起来像这样:
即:在给定轴上太窄。对于上面的图像,轴大约是1:8。
在这种情况下,宽高比ax.set_aspect(aspect='auto')
将产生更好的绘图:
现在,我不想将aspect='auto'
设置为所有数据集的默认值,因为使用aspect='equal'
实际上是显示这种散点图的正确方法。
我需要回到仅对上述情况使用ax.set_aspect(aspect='auto')
。
问题:如果使用aspect='equal'
的话,有没有办法提前知道一个图的纵横比是否太窄?例如获取绘制数据集的实际纵横比。
这样,基于这样一个数字,我可以将纵横比调整为看起来更理智的值(即:auto
或其他纵横比),而不是'equal'
。
最佳答案
像这样的事情应该做,
aspect = (max(x) - min(x)) / (max(y) - min(y))
关于python - matplotlib:获取绘图的轴比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30559363/