matplotlib基础2: 图形对象figure及子图subplot三种布局

subplot三种布局:

  1. 缺省布局
  2. 栅格布局:缺省布局的不规则化分配
  3. 自由布局:灵活 可以实现嵌套图

一、缺省布局

# -*- coding: utf-8 -*-
'''
子图:一共三种布局
'''
import numpy as np
import matplotlib.pyplot as plt

plt.figure('Figure Object 1',facecolor = 'lightgray')

# 子图: 缺省布局
for i in range(2):
    for j in range(3):
        k = i * 3 + j + 1
        plt.subplot(2,3,k)
        plt.xticks(())
        plt.yticks(())
        plt.text(0.5, 0.5, str(k), ha='center', va='center',
                 size = 36, alpha=0.5)      
plt.show()

Output:
这里写图片描述
二、栅格布局

# 子图: 栅格布局  更加灵活的布局分配
'''
gs = mg.GridSpec(行数,列数)
plt.subplot(gs[行,列])
'''
import matplotlib.gridspec as mg
plt.figure('Figure Object 2',facecolor = 'lightgray')
gs = mg.GridSpec(3, 3)      #  3行3列的栅格
# 第一个图:占两个位置
plt.subplot(gs[0,:2])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 1, ha='center', va='center',size = 36, alpha=0.5)

plt.subplot(gs[1:,0])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 2, ha='center', va='center',size = 36, alpha=0.5)

plt.subplot(gs[2,1:])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 3, ha='center', va='center',size = 36, alpha=0.5)

plt.subplot(gs[:2,2])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 4, ha='center', va='center',size = 36, alpha=0.5)

plt.subplot(gs[1,1])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 5, ha='center', va='center',size = 36, alpha=0.5)

plt.show()

Output:
这里写图片描述

三、自由布局

import numpy as np
import matplotlib.pyplot as plt
# 子图: 自由布局 (可以实现嵌套图)
'''
plt.axes([左下角水平坐标, 左下角垂直坐标, 宽度, 高度])
其中所有的尺寸参数都是相对比例。
'''
plt.figure('Figure Object 3',facecolor = 'lightgray')
plt.axes([0.03,0.038,0.94,0.924])
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 1, ha='center', va='center',size = 36, alpha=0.5)

plt.axes([0.63,0.076,0.33,0.68])   # list:[左下角水平坐标, 左下角垂直坐标, 宽度, 高度]
plt.xticks(())
plt.yticks(())
plt.text(0.5, 0.5, 2, ha='center', va='center',size = 36, alpha=0.5)

plt.show()

Output:
这里写图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值