数据可视化Day1:Matplotlib初相识

1. 什么是Matplotlib?

  • python2D绘图库
  • 可绘制静态,动态,交互图表

2. 一个最简单的绘图例子

pyplot.subplots——创建figure和axes
Axes.plot——绘制折线图

import matplotlib.pyplot as plt

fig, ax = plt.subplots()  # 创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]);  # 绘制图像
plt.show()

运行结果
数据可视化Day1:Matplotlib初相识_第1张图片
matplotlib.pyplot方法能够直接在当前axes上绘制图像,如果用户未指定axes,matplotlib会帮你自动创建一个,可以得到和上图相同的结果:

from matplotlib import pyplot as plt

line = plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.show()

数据可视化Day1:Matplotlib初相识_第2张图片

3. Figure的组成

一个完整的matplotlib图像的四个层级:

  • Figure:顶层级,用来容纳所有绘图元素
  • Axes:构造子图
  • Axis:axes的下属层级,用于处理所有和坐标轴,网格有关的元素
  • Tick:axis的下属层级,用来处理所有和刻度有关的元素

4. 两种绘图接口

matplotlib提供了两种最常用的绘图接口

  1. 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
import matplotlib.pyplot as plt
import numpy as np

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() 
plt.show()

运行结果
数据可视化Day1:Matplotlib初相识_第3张图片
2. 依赖pyplot自动创建figure和axes,并绘图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)

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()
plt.show()

运行结果
数据可视化Day1:Matplotlib初相识_第4张图片

5. 通用绘图模板

提供一个通用的模板,学习时将模板模块化,了解每个模块的作用。

# step1 准备数据
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

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='liner')

# step5 添加标签,文字,图例
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
plt.show()

运行结果
数据可视化Day1:Matplotlib初相识_第5张图片

思考题

  • 思考两种绘图模式的优缺点和各自适用的场景
  1. 这种接口是有状态的(stateful)。这个接口更偏向数学家的思维,不需要太多的编程背景就能掌握。
  2. 面向对象接口更加强大,可以更灵活地控制我们的图形
  • 第五节pyplot绘图模式代码
# step1 准备数据
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

x = np.linspace(0, 2, 100)
y = x**2

# step2 设置绘图样式
mpl.rc('lines', linewidth=4, linestyle='-.')

# step3 定义布局

# step4 绘制图像
plt.plot(x, y, label='liner')

# step5 添加标签,文字,图例
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
plt.show()

运行结果
数据可视化Day1:Matplotlib初相识_第6张图片

你可能感兴趣的:(数据可视化学习笔记,python,数据分析)