使用以下代码获取轴位置以及重量和高度的比例。
import matplotlib.pyplot as plt
ss = 2.4
fig, ax = plt.subplots(1, 1, figsize=(ss, ss))
box = ax.get_position()
box.width/box.height
设置ss=2.4, 3.6, 7.2
,我的PC上的输出始终相同:
1.0064935064935066
后端:%matplotlib qt
为什么宽度和高度值不一样?
答案 0 :(得分:1)
根本没有理由将轴设为正方形,仅因为它所处的图形是正方形即可。
default rc file设置的子图参数为
figure.subplot.left : 0.125 ## the left side of the subplots of the figure figure.subplot.right : 0.9 ## the right side of the subplots of the figure figure.subplot.bottom : 0.11 ## the bottom of the subplots of the figure figure.subplot.top : 0.88 ## the top of the subplots of the figure
如此
(right-left)/(top-bottom) = (0.9-0.125)/(0.88-0.11) = 1.0064935
当然,您可以根据自己的喜好设置这些参数,从而在rc文件中或通过代码(例如)获得正方形子图。
rc = {"figure.subplot.left" : 0.1,
"figure.subplot.right" : 0.9,
"figure.subplot.bottom" : 0.1,
"figure.subplot.top" : 0.9 }
plt.rcParams.update(rc)
或
fig.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9)