Matplotlib 介绍

Python
可视化
作者

yangjh

发布日期

November 27, 2022

Matplotlib 是 Python 中最常用的可视化工具之一,可以非常方便地创建不同类型的图表。Python的可视化包有很多,但是 Matplotlib 是最基本最常用的,因此需要对其概念有所了解。

Matplotlib绘图基本流程

  1. 导入matplotlib包(import matplotlib.pyplot as plt)。(必须)
  2. 准备绘图数据。(必须)
  3. 设定图表形式,如折线图、饼图等等。(必须)
  4. 设定图表的必要信息,如坐标轴标签、标题等等。(可选)
  5. 显示绘制的图表(plt.show())。(可选)
# 导入包
import matplotlib.pyplot as plt
import numpy as np
# 准备绘图数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
# 设定图表形式
fig, ax = plt.subplots()
ax.plot(x, y)
# 显示图表
plt.show()

Matplotlib绘图基本概念

  • 图(figure):指整个图形。figure包括所有的坐标区域、标题、图例、子图等等。图中呈现的一切都包含在figure之中。
  • 坐标轴(axes / ˈæksiːz /):是指位于图中的通常由2维坐标轴构成的绘图区域。坐标轴由不同维度的坐标及坐标轴标签等等组成。
  • 轴(axis / ˈæksis /):设定比例、范围、刻度、刻度标签等等信息。
  • Artist:在图中所有可见元素都是artist(包括图、坐标轴、轴)。例如图中过的文字、线条等等。当图被渲染时,所有的artist都被画到画布上。

Matplotlib术语

Matplotlib术语

设置Matplotlib

三种更改设置的方式

Matplotlib 提供了三种设置 matplotlib 选项的方式:

  1. 通过rcParams动态设置。
  2. 使用样式表style sheets
  3. 更改matplotlibrc设置文件。

这三种方式的优先级别依次递减,rcParams最高,matplotlibrc最低。

通过rcParams动态设置

设置图形大小及分辨率

默认设置为640*480 英寸(inches),通过figure.figsize选项进行更改。

plt.rcParams["figure.figsize"]=(6.4,4.8) #设置图片大小

默认分辨率DPI为100,将其设置为300,以保证图片在印刷时具有足够的细节。

plt.rcParams["figure.dpi"] = 300 #设置图片分辨率

中文显示

Matplotlib 默认配置不支持中文字符,绘制的图像若使用中文会乱码,需要通过指定字体等设置让图形正常显示汉字。

import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"]=(6.4,4.8)
plt.rcParams["figure.dpi"] = 300
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
year = [2017, 2018, 2019, 2020]
people = [20, 40, 60, 70]
#生成图表
plt.plot(year, people)
plt.xlabel('年份')
plt.ylabel('人口')
plt.title('人口增长')
#设置纵坐标刻度
plt.yticks([0, 20, 40, 60, 80])
#设置填充选项:参数分别对应横坐标,纵坐标,纵坐标填充起始值,填充颜色
plt.fill_between(year, people, 20, color = 'gray')
#显示图表
plt.show()

参考资料

  1. Matplotlib: Python plotting — Matplotlib 3.4.3 documentation
  2. Basic Usage — Matplotlib 3.5.2 documentation
  3. Customizing Matplotlib with style sheets and rcParams — Matplotlib 3.5.0rc1 documentation
回到顶部