一. 初识Matplotlib
Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。
二. 实现简单的绘图例子
Matplotlib的图像是画在figure(如windows,jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。最简单的创建figure以及axes的方式是通过 pyplot.subplots命令,创建axes以后,可以使用 Axes.plot 绘制最简易的折线图。
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots() # 创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) # 绘制图像,[1,2,3,4]为横坐标,[1,4,2,3]为竖坐标
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
三. Figure的组成
- Figure :顶层级,用来容纳所有绘图元素
- Axes :matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多
个子图组成 - Axis :axes的下属层级,用于处理所有和坐标轴,网格有关的元素
- Tick :axis的下属层级,用来处理所有和刻度有关的元素
四. 两种绘图接口
- 第一种
显式创建figure和axes,在上面调用绘图方法,也被称为OO模式
x = np.linspace(0, 2, 100)
fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.plot(x, x**2, label='quadratic')
ax.plot(x, x**3, label='cubic')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
- 第二种
依赖pyplot自动创建figure和axes,并绘图
x = np.linspace(0, 2, 100)
# 无需创建figure和axes
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
希望用可视化做出人的脑功能网络图