Py学习  »  Python

Python数据处理从零开始----第四章(可视化)(7)(多图合并)

夜神moon • 5 年前 • 478 次点击  

目录

Python数据处理从零开始----第四章(可视化)①
Python数据处理从零开始----第四章(可视化)②
Python数据处理从零开始----第四章(可视化)③
Python数据处理从零开始----第四章(可视化)④
Python数据处理从零开始----第四章(可视化)⑤(韦恩图)
Python数据处理从零开始----第四章(可视化)⑥(画布设置)
Python数据处理从零开始----第四章(可视化)⑦(多图合并)

=========================================================

正文

现实工作中,往往需要将多个图形组合到一个图框中。这里讲展示如何将多种图形汇总到一个图表中。

  • 相似均匀图的合并

使用plt.subplot来创建小图.
plt.subplot(2,2,1)表示将整个图像窗口分为2行2列, 当前位置为1. 使用plt.plot([0,1],[0,1])在第1个位置创建一个小图.
plt.subplot(2,2,2)表示将整个图像窗口分为2行2列, 当前位置为2. 使用plt.plot([0,1],[0,2])在第2个位置创建一个小图.
plt.subplot(2,2,3)表示将整个图像窗口分为2行2列,当前位置为3. plt.subplot(2,2,3)可以简写成plt.subplot(223), matplotlib同样可以识别. 使用plt.plot([0,1],[0,3])在第3个位置创建一个小图.
plt.subplot(224)表示将整个图像窗口分为2行2列, 当前位置为4. 使用plt.plot([0,1],[0,4])在第4个位置创建一个小图.

%clear
%reset -f
# In[*]
import matplotlib.pyplot as plt
plt.figure()
# In[*]
plt.subplot(2, 2, 1)
plt.plot([0, 1], [0, 1])
plt.subplot(222)
plt.plot([0, 1], [0, 2])
plt.subplot(223)
plt.plot([0, 1], [0, 3])
plt.subplot(224)
plt.plot([0, 1], [0, 4])
plt.tight_layout()
  • 相似不均匀图的合并

# In[*]
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])
plt.subplot(2,3,4)
plt.plot([0,1],[0,2])
plt.subplot(235)
plt.plot([0,1],[0,3])
plt.subplot(236)
plt.plot([0,1],[0,4])
plt.show()  # 展示

这里的代码需要逐行解释,首先设置两行一列,这就是上面的第一个图,然后设置2行3列,此时下面最左边的图就是位置为4,然后依次是(2,3,4),(2,3,5),(2,3,6)。

  • Subplot分格展示

主要使用的函数是matplotlib模块中的subplot2grid函数。这个函数的风格可以使m*n的矩阵风格,也可以是跨行或者跨列的风格。接下来,对该函数的用法和参数加以说明。

subplot2grid(shape,loc,rowspan,colspan.**kwrgs)

  • shape:组合图框架,如(2,3)
  • loc:指定图位置,如(0,0)
  • rowspan:指定某个图跨行
  • colspan:指定某个图跨列
import matplotlib.pyplot as plt
plt.figure()
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)  # stands for axes
ax1.plot([1, 2], [1, 2])
ax1.set_title('ax1_title')
ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)
ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
ax4 = plt.subplot2grid((3, 3), (2, 0))
ax4.scatter([1, 2], [2, 2])
ax4.set_xlabel('ax4_x')
ax4.set_ylabel('ax4_y')
ax5 = plt.subplot2grid((3, 3), (2, 1))


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/FurRutrbJX
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/26355
 
478 次点击