小编use*_*647的帖子

具有不同y轴的子图中的纵横比

我希望以下代码生成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轴长度之间纵横比的能力.

这是我正在寻找的:

python matplotlib

8
推荐指数
1
解决办法
9983
查看次数

标签 统计

matplotlib ×1

python ×1