前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶之Matplotlib入门(一)

Python进阶之Matplotlib入门(一)

作者头像
HuangWeiAI
发布2019-10-11 11:23:47
6610
发布2019-10-11 11:23:47
举报
文章被收录于专栏:浊酒清味浊酒清味

引言

Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技能。对于这个教程,大家最好亲自码一遍代码,这样可以更有收获。

概要

1、初步Matplotlib的功能;

2、学会安装Matplotlib;

3、学会结合NumPy画直线和曲线。

Matplotlib介绍和安装

1

简介

有了Matplotlib,你可以画出这些漂亮的图:

  • 线图;
  • 散点图;
  • 等高线图;
  • 条形图;
  • 柱状图;
  • 3D 图形,
  • 甚至是图形动画等等.

使用Matplotlib第一步就是把它的模块import进去:

代码语言:javascript
复制
import matplotlib.pyplot as plt

这里的pyplot是matplotlib的子包。为了方便快速绘图,matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。

我们要搞清楚pyplot以及pylab的区别。matplotlib还提供了一个名为pylab的模块,其中包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用。

在这里我们不讨论pylab的使用而是专注于pyplot

2

安装

对于Windows系统,我们一般使用pip命令安装matplotlib,

首先打开管理员模式的终端,然后输入命令:

pip install matplotlib

基本使用方法

我们先介绍Matplotlib最简单的画图代码,也就是画线图:

  1. 直线
  2. 曲线

1

直线

第一步我们要确定x轴的数据。这里我们使用“人造”数据,而不是真实的数据,这就需要用到我们在NumPy教程中学习到的linspace函数:

linspace是linear space的缩写,线性空间。它有五个基本参数:

  1. 起始值
  2. 终值
  3. 总数目
  4. endpoint
  5. retstep

其中endpoint表示是否包含终值,默认endpont=True;而retstep表示是否显示数组,默认值retstep=False;通过总数目,在给定起始值和终止值的时候,步长就会被确定。

比如np.linspace(1,10,10)表示的是1,2,...,10。

清楚了np.linspace用法,我们就可以画直线了:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y = 2*x + 1
plt.plot(x, y)
plt.show()

x轴的数据由linspace函数建立,而y轴数据通过x轴获得,由于我们要画直线,所以我们通过y=ax+b的直线公式来获得y轴的数据。另外plt是matplotlib.pyplot的缩写,这是一个习惯,建议大家也这么使用。plot函数负责画图,而show函数负责将画好的图显示出来。

运行结果:

2

曲线

对于曲线,我们选择NumPy中的正弦和余弦函数来展示:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)

plt.plot(x,y1)
plt.plot(x,y2)

plt.show()

我们通过NumPy中的linspace建立了x轴,因为是正弦和余弦函数,因此我们用圆周率pi设定x轴的起始值和终值。这次,我们一次性在图上画了两条线。我们还没有对直线设定颜色,粗细,这个会在后面的教程学习,但是matplotlib会自动给两天直线设置不同的颜色,方便区分。

运行结果:

最后,大家也能看出来使用matplotlib画图的时候,始终离不开NumPy,所以建议大家把忘了的NumPy知识复习一遍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与机器学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档