【问题标题】:Multiple graphs on one picture (python)一张图片上的多个图表(python)
【发布时间】:2018-03-08 13:51:54
【问题描述】:

我的 python 代码有问题。我想在一张图片上制作多个图表,但顶行有 2 个图表,底行只有 1 个,但底部的一个应该更宽(两个顶部的宽度)。这是我的代码:

import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import AutoMinorLocator
import numpy as np
import os
from matplotlib.image import NonUniformImage
from matplotlib.ticker import NullFormatter  


plt.figure(1)

#1
plt.subplot(221)
plt.title('linear')

#2
plt.subplot(222)
plt.title('log')

#3
plt.subplot(224)
plt.title('symlog')


plt.gca().yaxis.set_minor_formatter(NullFormatter())
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.3,
                    wspace=0.35)
plt.show()

如果我更改第三张图,例如plt.subplot(223) 它只是将它从左向右移动。我怎样才能把它变宽并放在两个地方?

【问题讨论】:

    标签: python python-2.7 matplotlib graph


    【解决方案1】:

    使用subplot2grid()

    import matplotlib.pyplot as plt
    from matplotlib import cm
    from matplotlib.ticker import AutoMinorLocator
    import numpy as np
    import os
    from matplotlib.image import NonUniformImage
    from matplotlib.ticker import NullFormatter  
    
    
    plt.figure(1)
    
    #1
    plt.subplot2grid((2,2), (0,0))
    plt.title('linear')
    
    #2
    plt.subplot2grid((2,2), (0,1))
    plt.title('log')
    
    #3
    plt.subplot2grid((2,2), (1,0), colspan = 2)
    plt.title('symlog')
    
    
    plt.gca().yaxis.set_minor_formatter(NullFormatter())
    plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.3,
                        wspace=0.35)
    plt.show()
    

    【讨论】:

      【解决方案2】:

      您可以使用GridSpec进行自定义:

      from matplotlib.gridspec import GridSpec
      
      gs=GridSpec(2,2)
      
      #1
      plt.subplot(gs[0,0])
      plt.title('linear')
      
      #2
      plt.subplot(gs[0,1])
      plt.title('log')
      
      #3
      plt.subplot(gs[1,:])
      plt.title('symlog')
      

      【讨论】:

        猜你喜欢
        • 2021-12-01
        • 2013-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-21
        • 1970-01-01
        • 2016-09-07
        • 1970-01-01
        相关资源
        最近更新 更多