文章目录
一、Matplotlib数据可视化是什么?
- 数据可视化:简而言之就是绘制图表的方式直观的对数据进行分析展示,数据可视化常用的图表有柱状图、直方图、散点图、饼状图和区域图等等,提及这些图标大家应该都不会很陌生,这样就不难理解数据可视化了。
- Matplotlib:是一款用于数据可视化的Python软件包,所谓Matplotlib API就是一套面向绘图对象编程预先定义(如函数)的接口,所生成的图形包括4个部分:
组成部分 | 描述 |
---|---|
Figure | 顶层级,用来容纳所有绘图元素 |
Aexs | matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成 |
Axis | axes的下属层级,用于处理所有和坐标轴,网格有关的元素 |
Tick | axis的下属层级,用来处理所有和刻度有关的元素 |
二、Matplotlib.pyplot接口汇总
一般导入Matplot包中的pyplot模块都是以as别名的形式简化为
plt
引入包的名称,然后就是我们常见的plt.
各种使用方式,.
后面的内容就是接下来要说明的各种API接口函数!!!
1.绘图类型
函数名 | 描述 |
---|---|
Bar | 绘制条形图 |
Barh | 绘制水平条形图 |
Boxplot | 绘制箱型图 |
Hist | 绘制直方图 |
his2d | 绘制2D直方图 |
Pie | 绘制饼状图 |
Plot | 在坐标轴上画线或者标记 |
Polar | 绘制极坐标图 |
Scatter | 绘制x与y的散点图 |
Stackplot | 绘制堆叠图 |
Step | 绘制阶梯图 |
Quiver | 绘制一个二维按箭头 |
2.Image函数
函数名称 | 描述 |
---|---|
Imread | 从文件中读取图像的数据并形成数组 |
Imsave | 将数组另存为图像文件 |
Imshow | 在数轴区域内显示图像 |
3.Axis函数
函数名称 | 描述 |
---|---|
Axes | 在画布(Figure)中添加轴 |
Text | 向轴添加文本 |
Title | 设置当前轴的标题 |
Xlabel(Ylabel) | 设置x(y)轴标签 |
Xlim(Ylim) | 获取或者设置x(y)轴区间大小 |
Xscale(Yscale) | 设置x(y)轴缩放比例 |
Xticks(Yticks) | 获取或设置x(y)轴刻标和相应标签 |
4.Figure函数
函数名称 | 描述 |
---|---|
Figtext | 在画布上添加文本 |
Figure | 创建一个新画布 |
Show | 显示数字 |
Savefig | 保存当前画布 |
Close | 关闭画布窗口 |
三、使用Pyplot模块绘制基本图形
以一个简单的正弦曲线绘制图为例进行说明,根据Numpy ndarry数组来绘制2D图像。
NumPy 是 Python 科学计算的软件包,ndarray 则是 NumPy 提供的一种数组结构。
import matplotlib.pyplot as plt
import numpy as np
import math #math函数是python内置函数,因此无需另外下载该包可以直接导入即可
x = np.arange(0,math.pi*2,0.05) #调用math.pi方法弧度转为角度
y = np.sin(x)
plt.plot(x,y)
plt.xlabel("angle")
plt.ylabel("sine")
plt.title("sine wave")
plt.show()
代码完成后显示为:
四、使用PyLab模块绘制基本图形
matplotlib下的模块pyplot与单独pylab模块的区别在于pylab结合了pyplot和numpy,既可以画图又可以进行简单的计算非常便捷,不需要在numpy或者pyplot加后缀绘图。但是在创建的新项目中建议分别导入使用(注意的是pylab是一个单独模块,只不过随着Matplotlib包一起安装的):
import matplotlib.pyplot as plt
import numpy as np
from pylab import *
而不是
import pylab as pl
如果您要绘制特殊类型的线条,并想添加一些颜色,PyLab 提供了如下方法:
符号 | ‘-’,‘–’,‘-.’,‘:’,‘.’,‘,’,,o,^,v,<,>,s,+,x,D,d,1,2,3,4,h,H,p,_ |
---|---|
颜色 | b(蓝色),g(绿色),r(红色),c(青色),m(品红),y(黄色),k(黑色),w(白色) |
以绘制如下所示的实例进行直观展示:
import matplotlib.pyplot as plt
import numpy as np
form pylab import *
x = linspace(-3,3,30)
y = x**2
plot(x,y,"g--")
show()
显示的结果为