杰瑞科技汇

Python如何正确导入matplotlib?

最基础的导入

最直接的方式是使用 import 语句:

Python如何正确导入matplotlib?-图1
(图片来源网络,侵删)
import matplotlib

这样,你就可以使用 matplotlib 库中的所有模块和函数了,在实际使用中,我们几乎总是需要用到它的核心绘图模块 pyplot


最常见和推荐的导入方式:import matplotlib.pyplot as plt

这是社区公认的标准用法。pyplot 是一个 MATLAB 风格的接口,非常适合绘制各种图表,我们将其简写为 plt 以方便使用。

import matplotlib.pyplot as plt

为什么推荐这种方式?

  • 简洁plt 是一个非常简短的别名,可以大大减少代码量。
  • 标准:几乎所有使用 matplotlib 的教程、示例代码和开源项目都遵循这个约定,便于阅读和理解。

使用示例:

Python如何正确导入matplotlib?-图2
(图片来源网络,侵删)
import matplotlib.pyplot as plt
# 准备数据
x = [1, 2, 3, 4, 5]
y = [2, 5, 3, 6, 4]
# 创建一个线图
plt.plot(x, y)
和坐标轴标签"我的第一个图表")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")
# 显示图表
plt.show()

运行这段代码,会弹出一个窗口显示你的图表。


导入特定模块

你可能只需要 matplotlib 的某个特定子模块,比如用于处理颜色的 colors 模块,或者用于处理字体的 font_manager 模块。

# 只导入颜色模块
from matplotlib import colors
# 使用颜色模块
print(colors.to_rgba('red')) # 输出: (1.0, 0.0, 0.0, 1.0)

在 Jupyter Notebook / Google Colab 中的特殊设置

如果你在 Jupyter Notebook 或 Google Colab 这类交互式环境中工作,为了让图表直接在单元格内显示(而不是弹出独立的窗口),你需要使用 "magic command" %matplotlib

内联显示(最常用) 在代码单元格的开头添加 %matplotlib inline,这样图表就会以静态图片的形式嵌入到 Notebook 中。

Python如何正确导入matplotlib?-图3
(图片来源网络,侵删)
# 在 Jupyter Notebook 中执行此命令
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘制图表
plt.plot(x, y)"正弦波 (Sine Wave)")
plt.show() # 即使是内联模式,加上 plt.show() 也是一个好习惯

交互式显示 如果你想创建可以缩放、平移的交互式图表,可以使用 %matplotlib widget(需要安装 ipympl 库)。

# 在 Jupyter Notebook 中执行此命令
%matplotlib widget
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.cos(x)
plt.plot(x, y)"交互式余弦波")
plt.show()

注意%matplotlib widget 是一个较新的功能,确保你已经安装了 ipympl 库:pip install ipympl


完整的最佳实践示例

下面是一个综合了最佳实践的完整示例,包括中文显示和设置样式。

# 1. 导入必要的库
import matplotlib.pyplot as plt
import numpy as np
# 2. 设置中文显示(解决中文乱码问题)
#    'SimHei' 是黑体,你也可以用 'Microsoft YaHei' 等
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决负号显示问题
plt.rcParams['axes.unicode_minus'] = False
# 3. 准备数据
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x**2)
# 4. 创建图表和子图
#    fig 是整个画布,ax 是子图对象
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title("正弦平方波") # 使用 ax.set_... 来设置属性
ax.set_xlabel("时间 (秒)")
ax.set_ylabel("振幅")
# 5. 显示图表
plt.show()
导入方式 用途 优点 缺点
import matplotlib 基础导入 导入整个库 调用函数时需要写全称,如 matplotlib.pyplot.plot(),很繁琐
import matplotlib.pyplot as plt 强烈推荐 代码简洁,是行业标准 无明显缺点
from matplotlib import pyplot 同上 不需要 plt 别名 代码稍长,不如 plt 流行
from matplotlib import pyplot as plt 同上 结合了优点 无明显缺点,但略显冗余
from matplotlib.pyplot import plot 导入单个函数 如果只用一个函数,可以直接调用 plot() 如果需要其他函数,还需要继续导入,破坏了代码的整洁性

给你的建议: 对于初学者和绝大多数应用场景,请直接使用:

import matplotlib.pyplot as plt

这是最简单、最通用、最被广泛接受的方式。

分享:
扫描分享到社交APP
上一篇
下一篇