简体   繁体   中英

Set size of matplotlib subplots

I created two subplots on a MPL figure, but i'm having an hard time setting the size on them. I want the space to be splitted between the two charts, so each chart needs to have 50% of the total width of the figure, and i want them to have the same height of the figure, here is how i initialized the subplots:

fig = plt.figure(facecolor='#131722',dpi=155, figsize=(10, 3))
ax1 = plt.subplot2grid((3,3), (2,0), facecolor='#131722')
ax2 = plt.subplot2grid((5,3), (2,2), colspan=5, rowspan=4, facecolor='#131722')

Colors = [['#0400ff', '#FF0000'], ['#09ff00', '#ff8c00']]

    for x in List:

        Index = List.index(x)

        rate_buy = []
        total_buy = []
        rate_sell = []
        total_sell = []

        for y in x['data']['asks']:
            rate_sell.append(y[0])
            total_sell.append(y[1])

        for y in x['data']['bids']:
            rate_buy.append(y[0])
            total_buy.append(y[1])

        rBuys = pd.DataFrame({'buy': rate_buy})
        rSells = pd.DataFrame({'sell': rate_sell})
        tBuys = pd.DataFrame({'total': total_buy})
        tSells = pd.DataFrame({'total': total_sell})

        ax1.plot(rBuys.buy, tBuys.total, color=Colors[Index][0], linewidth=0.5, alpha=1, label='test')
        ax2.plot(rSells.sell, tSells.total, color=Colors[Index][1],alpha=0.5, linewidth=1, label=x['exchange'])

        ax1.fill_between(rBuys.buy, 0, tBuys.total, facecolor=Colors[Index][0], alpha=0.4)
        ax2.fill_between(rSells.sell, 0, tSells.total, facecolor=Colors[Index][1], alpha=0.4)

And this is what i'm getting: 在此处输入图像描述

use plt.tight_layout() before calling plt.show().

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM