subplot三种布局:
一、缺省布局
# -*- 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()
# 子图: 栅格布局 更加灵活的布局分配
'''
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()
三、自由布局
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()