我希望以下代码生成4个相同大小的子图,其中我设置的x轴和y轴的大小之间有一个共同的纵横比.参考下面的例子,我希望所有的子图看起来都像第一个(左上角).现在的错误是y轴的大小与其最大值相关.这是我想避免的行为.
import matplotlib.pyplot as plt
import numpy as np
def main():
fig = plt.figure(1, [5.5, 3])
for i in range(1,5):
fig.add_subplot(221+i-1, adjustable='box', aspect=1)
plt.plot(np.arange(0,(i)*4,i))
plt.show()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,matplotlib默认生成正确的东西(如下图所示):
import matplotlib.pyplot as plt
import numpy as np
def main():
fig = plt.figure(1, [5.5, 3])
for i in range(1,5):
fig.add_subplot(221+i-1)
plt.plot(np.arange(0,(i)*4,i))
plt.show()
Run Code Online (Sandbox Code Playgroud)
我只想补充一下控制x和y轴长度之间纵横比的能力.
