Python拾遗系列:matplotlib subplot 笔记

1. 导入numpy包与matplotlib的相关包

import numpy as np 
import matplotlib.pyplot as plt

2. 构造样本数据

使用numpy库中random包的平均分布:uniform分布构造样本数据。假设这是4家公司在去年12各月份的市场增长率。

  • x: 1-12月份
  • y: 4个公司的每月的市场增长率,假设这4个公司分布称为: A公司、B公司、C公司、D公司
  • y_mean: 代表市场的每月平均增长率
x = np.arange(1,13)
y = np.random.uniform(0.,1., (4,12))
y_mean = y.mean(axis=0)

3. 布局一

  • y_mean 独占第二行
plt.figure(figsize=(8,6))
plt.subplot(3,2,1)
plt.plot(x, y[0])
plt.subplot(3,2,2)
plt.plot(x, y[1])
plt.subplot(3,1,2)
plt.plot(x,y_mean)
plt.subplot(3,2,5)
plt.plot(x, y[2])
plt.subplot(3,2,6)
plt.plot(x, y[3])

[<matplotlib.lines.Line2D at 0x25a03b89fc8>]
week5_5_1.png

4. y_mean 独占第一行

plt.figure(figsize=(8,6))
plt.subplot(3,1,1)
plt.plot(x, y_mean)
plt.subplot(3,2,3)
plt.plot(x, y[0])
plt.subplot(3,2,4)
plt.plot(x,y[1])
plt.subplot(3,2,5)
plt.plot(x, y[2])
plt.subplot(3,2,6)
plt.plot(x, y[3])
[<matplotlib.lines.Line2D at 0x25a03481b88>]
week5_7_1.png

5. y_mean独占第三行

plt.figure(figsize=(8,6))
plt.subplot(3,2,1)
plt.plot(x, y[0])
plt.subplot(3,2,2)
plt.plot(x, y[1])
plt.subplot(3,2,3)
plt.plot(x,y[2])
plt.subplot(3,2,4)
plt.plot(x, y[3])
plt.subplot(3,1,3)
plt.plot(x, y_mean)
[<matplotlib.lines.Line2D at 0x25a03588b08>]
week5_9_1.png

6. 不做合并

plt.figure(figsize=(8,6))
plt.subplot(3,2,1)
plt.plot(x, y[0])
plt.subplot(3,2,2)
plt.plot(x, y[1])
plt.subplot(3,2,3)
plt.plot(x,y[2])
plt.subplot(3,2,4)
plt.plot(x, y[3])
plt.subplot(3,2,5)
plt.plot(x, y_mean)
[<matplotlib.lines.Line2D at 0x25a04019dc8>]
week5_11_1.png

7. 总结

  • plt.subplot(row, col, location)
    row, col表示某个布局的行列,location是表示在这个布局下,图是第几个

7.1 以最简单的第6个为例

整个画布只出现了一种布局(3,2),所以排序就是1,2,3,4,5

7.2 以第3个为例

整个画布出现了两种布局(3,2), (3,1),location表示在各自的布局下所处的位置

  • y_mean:属于(3,1)布局,是在第二行出现的,每行只有一个,所以subplot:(3,1,2)
  • y[2]:属于(3,2)布局,是在第三行出现的,每行是两个,所以subplot: (3,2,5)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容