栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

01-Matplotlib 学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

01-Matplotlib 学习笔记

Matplotlib 是建立在 Numpy 数组基础上支持多平台数据可视化的 Python 库

导入 Matplotlib

简写形式:

import matplotlib as mpl
import matplotlib.pyplot as plt

在不同的环境下使用 Matplotlib 脚本

调用 plt.show() 显示图像

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

# 启动事件循环并阻塞
plt.show()
IPython Shell

可通过 %matplotlib 魔法命令启动 Matplotlib 模式, 调用任何 plt 的函数时自动打开一个图形窗口, 追加调用 plt 函数时更新该窗口, 无需使用 plt.show()

In [1]: %matplotlib
Using matplotlib backend: Qt5Agg

In [2]: import matplotlib.pyplot as plt

In [3]: import numpy as np

In [4]: x = np.linspace(0, 10, 100)

In [5]: plt.plot(x, np.sin(x))
Out[5]: []

In [6]: plt.plot(x, np.cos(x))
Out[6]: []

如下图所示:

IPython Notebook

与 IPython Shell 类似, 通过魔法命令开启 Matplotlib 模式, 有两种形式

  • %matplotlib notebook 在 Notebook 中启动交互式图形
  • %matplotlib inline 在 Notebook 中启动静态图形

两种绘图风格

Matplotlib 绘图涉及到两个核心对象 plt.Figure 和 plt.Axes 分别表示窗口和坐标轴, 一个窗口可容纳多个坐标轴, 一个坐标轴对应一个绘制图像

MATLAB 风格

在这种风格下, 程序会记录"当前的"窗口和坐标轴

  1. 首次绘图时, 程序自动创建窗口以及属于这个窗口的坐标轴
  2. 下一次绘图时, 程序默认沿用这个窗口并在该窗口上新建坐标轴, 如果你手动新建了窗口, 程序将该窗口视为"当前的"窗口
import matplotlib.pyplot as plt
import numpy as np

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

# 创建窗口
plt.figure("MATLAB Style")

# 创建两个子窗口中的第一个
plt.subplot(2, 1, 1)  # (行, 列, 子窗口编号)
plt.plot(x, np.sin(x))

# 创建两个子窗口中的第二个
plt.subplot(2, 1, 2)
plt.plot(x, np.cos(x))

plt.show()
面向对象风格

显示指定绘图所用的坐标轴

import matplotlib.pyplot as plt
import numpy as np

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

# 1. subplots 自动创建 plt.Figure 对象
# 2. axes 包含两个 plt.Axes 对象
fig, axes = plt.subplots(2, num="OOP Style")

# 在每个 plt.Axes 上调用 plot 方法
axes[0].plot(x, np.sin(x))
axes[1].plot(x, np.cos(x))

plt.show()

保存图像

两种风格对应两种调用方式:

  1. plt.savefig('xxx.png') 以 PNG 格式保存当前窗口

  2. fig.savefig('xxx.jpg') 以 JPG 格式保存指定的窗口(fig 为 plt.Figure 对象)

import os

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(x, np.sin(x))

# 新建窗口, 自动切换为"当前"窗口
plt.figure()
plt.plot(x, np.cos(x))

plt.savefig(os.path.expanduser("~/Pictures/01-savefig.png"))

将新建的窗口(仅包含余弦图形)保存到 ~/Pictures/01-savefig.png

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283278.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号