- 本文为DataWhale的Matplotlib训练营
- 链接:datawhalechina.github.io/fantastic-m…
第一回:Matplotlib初相识
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
-
Figure 构成
Figure:顶层级,用来容纳所有绘图元素Axes:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成Axis:axes的下属层级,用于处理所有和坐标轴,网格有关的元素Tick:axis的下属层级,用来处理所有和刻度有关的元素
-
两种绘图方法
- pyplot.subplots -> Axes.plot, 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
- 更加适合绘制多子图的情况
# step1 准备数据 x = np.linspace(0, 2, 100) y = x**2 # step2 设置绘图样式,这一模块的扩展参考第五章进一步学习,这一步不是必须的,样式也可以在绘制图像是进行设置 mpl.rc('lines', linewidth=4, linestyle='-.') # step3 定义布局, 这一模块的扩展参考第三章进一步学习 fig, ax = plt.subplots() # step4 绘制图像, 这一模块的扩展参考第二章进一步学习 ax.plot(x, y, label='linear') # step5 添加标签,文字和图例,这一模块的扩展参考第四章进一步学习 ax.set_xlabel('x label') ax.set_ylabel('y label') ax.set_title("Simple Plot") ax.legend() ; - matplotlib.pyplot, 依赖pyplot自动创建figure和axes,并绘图
- 绘制单一图片更加合适
# step1 准备数据 x = np.linspace(0, 2, 100) y = x**2 # step2 设置绘图样式,这一模块的扩展参考第五章进一步学习,这一步不是必须的,样式也可以在绘制图像是进行设置 mpl.rc('lines', linewidth=4, linestyle='-.') # step4 绘制图像, 这一模块的扩展参考第二章进一步学习 plt.plot(x, y, label='linear') # step5 添加标签,文字和图例,这一模块的扩展参考第四章进一步学习 plt.xlabel('x label') plt.ylabel('y label') plt.title("Simple Plot") plt.legend() ;
- pyplot.subplots -> Axes.plot, 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
-
三种在jupyter notebbok中出现
<matplotlib.lines.Line2D at 0x23155916dc0>问题- 在代码块最后加一个分号;
- 在代码块最后加一句plt.show()
- 在绘图时将绘图对象显式赋值给一个变量,如将plt.plot([1, 2, 3, 4]) 改成line =plt.plot([1, 2, 3, 4])