400-616-5551

您所在位置: 首页> 学习课程> python培训 | 如何通过Matplotlib画出数据图?

python培训 | 如何通过Matplotlib画出数据图?

发布百知教育 来源:学习课程 2019-10-10

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



概要


1、初步Matplotlib的功能;

2、学会安装Matplotlib;

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



Matplotlib介绍和安装


1、简介


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


线图;

散点图;

等高线图;

条形图;

柱状图;

3D 图形,

甚至是图形动画等等.

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


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


4.png



基本使用方法


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

直线

曲线


1直线


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


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


起始值

终值

总数目

endpoint

retstep


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


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


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


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函数负责将画好的图显示出来。


运行结果:


python培训班


2曲线


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


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会自动给两天直线设置不同的颜色,方便区分。


运行结果:


python培训




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



python培训:http://www.baizhiedu.com/python2019


上一篇:python培训 | Python新手入门指引,新手入门准备什么?

下一篇:应届生去公司找个Java程序员的职位需要什么技能?

相关推荐

www.baizhiedu.com

有位老师想和您聊一聊

关闭

立即申请