Matplotlib 初相识

第一回:Matplotlib 初相识

一、认识 Matplotlib

Matplotlib 是一个 Python 2D 绘图库,Matplotlib 可用于 Python 脚本,Python和 IPython Shell、Jupyter notebook,Web 应用程序服务器和各种图形用户界面工具包等。Matplotlib 已经成为python中公认的数据可视化工具。

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

二、一个最简单的绘图例子

Matplotlib 的图像是画在 figure 上的,figure 又包含了一个或多个axes。最简单的创建figure以及axes的方式是通过 pyplot.subplots 命令,创建axes以后,可以使用 Axes.plot 绘制最简易的折线图。

fig, ax = plt.subplots() # Create a figure containing a single axes.
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]);  # Plot some data on the axes.

请添加图片描述

out:

[<matplotlib.lines.Line2D object at 0x7fb68105b940>]

Trick: 不显示上面一行输出的方法

  1. 在代码块最后加一个分号;
  2. 在代码块最后加一句 plt.show()
  3. 在绘图时将绘图对象显式赋值给一个变量,如将 plt.plot([1, 2, 3, 4]) 改成 line = plt.plot([1, 2, 3, 4])

三、figure 的组成

请添加图片描述

四、两种绘图接口

  • 显式创建“Figure”和“Axes”,并在其上调用方法(“面向对象 (OO) 模式”)。
  • 依靠 pyplot 自动创建和管理图形和轴,并使用 pyplot 函数进行绘图。

五、通用绘图模板

# step1 准备数据
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='linear')  

# step5 添加标签,文字和图例,这一模块的扩展参考第四章进一步学习
ax.set_xlabel('x label') 
ax.set_ylabel('y label') 
ax.set_title("Simple Plot")  
ax.legend() ;

思考题

  • 请思考两种绘图模式的优缺点和各自适合的使用场景
    • 通常,我们建议使用 OO 模式,特别是对于复杂的绘图,以及打算作为较大项目的一部分重用的函数和脚本。但是,pyplot 样式对于快速交互式工作非常方便。
  • 在第五节绘图模板中我们是以 OO 模式作为例子展示的,请思考并写一个 pyplot 绘图模式的简单模板
# step1 准备数据
x = np.linspace(0, 2, 100)
y = x**2

# step2 设置绘图样式,这一模块的扩展参考第五章进一步学习,这一步不是必须的,样式也可以在绘制图像是进行设置
mpl.rc('lines', linewidth=4, linestyle='-.')

# step4 绘制图像, 这一模块的扩展参考第二章进一步学习
plt.plot(x, y, label='linear')  

# step5 添加标签,文字和图例,这一模块的扩展参考第四章进一步学习
plt.xlabel('x label') 
plt.ylabel('y label') 
plt.title("Simple Plot")  
plt.legend()
plt.show()

[参考索引](第一回:Matplotlib初相识 — fantastic-matplotlib (datawhalechina.github.io)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值