Matplotlib
Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。
matplotlib开发环境搭建
如果使用的是Anaconda Python开发环境,那么Matplotlib已经被集成进Anaconda,并不需要单独安装。如果使用的是标准的Python开发环境,可以使用下面的命令安装Matplotlib:
1. Windows 系统安装 Matplotlib,执行如下命令:
pip install matplotlib |
如果要了解Matplotlib更详细的情况,请访问官方网站。网址如下:Matplotlib — Visualization with Python。
安装完Matplotlib后,可以测试一下Matplotlib是否安装成功。进入Python的环境使用下面的语句导入matplotlib.pyplot模块。如果不出错,就说明Matplotlib已经安装成功了。
import matplotlib.pyplot as plt |
虽然上述的安装方式比较简单,但是有时候不能确保安装成功或者并不能保证安装的Matplotlib版本适合当今Python环境。在这个时候,建议读者登录Python官方网站https://www.python.org/,点击菜单PyPI输入Matplotlib到下载页如下图所示,在这个页面中查找与你使用的Python版本匹配的wheel文件(扩展名为“.whl”的文件)。例如使用的是64位的Python3.6,则需要下载matplotlib-3.1.0-cp36-cp36m-win_amd64.whl。
当读者下载到得到的文件是matplotlib-3.1.0-cp36-cp36m-win_amd64.whl,将这个文件保存在” E:/matp”目录下。接下来,需要打开一个命令窗口,并切换到“e:/matp”目录下。执行如下命令安装Matplotlib。
pip install matplotlib-3.1.0-cp36-cp36m-win_amd64.whl |
绘制基础
在使用Matplotlib绘制图形时,其中有两个最为常用的场景。一个是画点,一个是画线。pyplot基本方法的使用如下表。
方法名 |
说明 |
title() |
设置图表的名称 |
xlabel() |
设置x轴名称 |
ylabel() |
设置y轴名称 |
xticks(x,ticks,rotation) |
设置x轴的刻度,rotation旋转角度 |
yticks() |
设置y轴的刻度 |
plot() |
绘制线性图表 |
show() |
显示图表 |
legend() |
显示图例 |
text(x,y,text) |
显示每条数据的值 x,y值的位置 |
figure(name,figsize=(w,h),dpi=n) |
设置图片大小 |
绘制直线
在使用Matplotlib绘制线性图时,其中最简单的是绘制线图。在下面的实例代码中,使用Matplotlib绘制了一个简单的直线。具体实现过程如下:
- 导入模块pyplot,并给它指定别名plt,以免反复输入pyplot。在模块pyplot中包含很多用于生产图表的函数。
- 将绘制的直线坐标传递给函数plot()。
- 通过函数plt.show()打开Matplotlib查看器,显示绘制的图形。
【示例】根据两点绘制一条线
import matplotlib.pyplot as plt #将(0,1)点和(2,4)连起来 plt.plot([0,2],[1,4]) plt.show() |
运行结果如下图:
在上述的实例代码中,使用两个坐标绘制一条直线,接下来使用平方数序列1、4、9、16和25来绘制一个折线图。
绘制折线
【示例】绘制折线图
import matplotlib.pyplot as plt x=[1,2,3,4,5] squares=[1,4,9,16,25] plt.plot(x,squares) plt.show() |
运行结果如下图:
设置标签文字和线条粗细
在上面的实例直线结果不够完美,开发者可以绘制的线条样式进行灵活设置。例如:可以设置线条的粗细、设置文字等。
【示例】绘制折线图并设置样式
import matplotlib.pyplot as plt datas=[1,2,3,4,5] squares=[1,4,9,16,25] plt.plot(datas,squares,linewidth=5) #设置线条宽度 #设置图标标题,并在坐标轴上添加标签 plt.title('Numbers',fontsize=24) plt.xlabel('datas',fontsize=14) plt.ylabel('squares',fontsize=14) plt.show() |