目录
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))