Skip to content

绘图

是的,如何将数据绘制成美观的图像是数据分析的重要一环。学习绘图最好的方式是 Google。我在这里记录自己常用的绘图工具和方法。

目前记录的工具:

  • Python 的 matplotlib
  • MatLab

速查:

matplotlib

概念和基础操作

这些绘图软件中的一些概念和基础操作。

figure 对象

matplotlib 绘图以 Figure 为基础,上面可以放置 Artist。Figure 和 Artist 都可以嵌套(比如 Axes 这个 Artist 上面可以放置各种数据)。举一个例子:

fig = plt.figure() # 创建 Figure
ax = fig.add_subplot() # 放置 Artist
figL, figR = fig.subfigures(1, 2) # 创建子 Figure
figL.add_axes() # 放置 Artist
fig.savefig() # 保存 Figure
fig.close() # 关闭 Figure

上面的这种调用 Figure 方法的风格称为 OO-style,适用于复杂图像。平常绘制简单图像时,我们更常看到 pyplot-style,由 pyplot 在一个全局的图像上操作:

plt.figure()
plt.plot()
plt.savefig()
  • 常用 Figure 选项:

    layout frameon figsize
    
  • 常用 Artist:

    axes subplot colorbar legend suptitle text
    
import matplotlib.pyplot as plt
# 笔记本非交互模式
%matplotlib inline
# 笔记本交互模式
%matplotlib notebook
  • 支持保存为:pdf png svg

图的布局

本节涉及子图等内容。

# 网格布局
fig, axs = plt.subplots(2, 2, figsize=(4, 3), layout='constrained')

图的样式

散点图

零碎知识

matplotlib

  • Backend:负责把图像显示在屏幕上或写入文件中。最常见的用法是 %matplotlib inline 使图像显示在笔记本中。