Matplotlib神级教程, python程序员有福了, 感谢产品经理提供!image](https://img.haomeiwen.com/i9305082/85c183a65cb725b0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
运行环境
由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在网络上搜索获取方法。
![](https://img.haomeiwen.com/i9305082/05eb2545d773d4fa.jpg)
关于如何安装Matplotlib
通过pip的方式进行安装,具体方法如下:
![](https://img.haomeiwen.com/i9305082/3f0c1756d7dfdb0b.jpg)
本文的代码在如下环境中测试:
![](https://img.haomeiwen.com/i9305082/78067bb4fbb5d604.jpg)
介绍
![](https://img.haomeiwen.com/i9305082/a046857fce1a637f.jpg)
Matplotlib适用于各种环境,包括:
-
Python脚本
-
IPython shell
-
Jupyter notebook
-
Web应用服务器
-
用户图形界面工具包
使用Matplotlib,能够的轻易生成各种类型的图像,例如:直方图,波谱图,条形图,散点图等。并且,可以非常轻松的实现定制。
入门代码示例
下面我们先看一个最简单的代码示例,让我们感受一下Matplotlib是什么样的:
![](https://img.haomeiwen.com/i9305082/d1601a1f6fb6d65b.jpg)
这段代码的主体逻辑只有三行,但是它却绘制出了一个非常直观的线性图,如下所示:
![](https://img.haomeiwen.com/i9305082/b57c00ced7a69180.jpg)
对照着这个线形图,我们来讲解一下三行代码的逻辑:
![](https://img.haomeiwen.com/i9305082/08736a7a95662d10.jpg)
这段代码非常的简单,运行起来也是一样。如果你已经有了本文的运行环境,将上面的代码保存到一个文本文件中,然后通过下面的命令就可以在你自己的电脑上看到上面的图形了:
![](https://img.haomeiwen.com/i9305082/562b2a03a9dfc4c6.jpg)
一次绘制多个图形
![](https://img.haomeiwen.com/i9305082/3bb5e8e6fef65fbe.jpg)
多个figure
![](https://img.haomeiwen.com/i9305082/46d678015db0b0ae.jpg)
![](https://img.haomeiwen.com/i9305082/dcc4e5f458f9ec83.jpg)
这段代码绘制了两个窗口的图形,它们各自是一个不同区间的线形图,如下所示:
![](https://img.haomeiwen.com/i9305082/b875ece9b454a867.jpg)
![](https://img.haomeiwen.com/i9305082/1cda9906f7f5d419.jpg)
多个subplot
![](https://img.haomeiwen.com/i9305082/0f7dca9f5541cc37.jpg)
![](https://img.haomeiwen.com/i9305082/4b7fa9b1fa068d6b.jpg)
![](https://img.haomeiwen.com/i9305082/aaea4187075b6bc5.jpg)
![](https://img.haomeiwen.com/i9305082/e038fc1dcc8253a8.jpg)
所以这段代码的结果是这个样子:
![](https://img.haomeiwen.com/i9305082/5bf7bdc64985aafb.jpg)
![](https://img.haomeiwen.com/i9305082/19366b35353662fc.jpg)
因此,下面这段代码的结果是一样的:
![](https://img.haomeiwen.com/i9305082/fa7a43ced2740fd4.jpg)
常用图形示例
![](https://img.haomeiwen.com/i9305082/3045d79a681ae1a6.jpg)
线性图
![](https://img.haomeiwen.com/i9305082/95a26b370c3d2a52.jpg)
![](https://img.haomeiwen.com/i9305082/4b46d66cbc13d72b.jpg)
这段代码可以让我们得到这样的图形:
![](https://img.haomeiwen.com/i9305082/3e38e37f3ac35a0d.jpg)
这段代码说明如下:
![](https://img.haomeiwen.com/i9305082/b4bc6bcf6f17fbf3.jpg)
散点图
![](https://img.haomeiwen.com/i9305082/e5b0a8872e042890.jpg)
![](https://img.haomeiwen.com/i9305082/cdae8912912ace1e.jpg)
![](https://img.haomeiwen.com/i9305082/2ef30e8701d3e1b0.jpg)
![](https://img.haomeiwen.com/i9305082/e53cb44ce304dcc7.jpg)
饼状图
pie函数用来绘制饼状图。饼状图通常用来表达集合中各个部分的百分比。
![](https://img.haomeiwen.com/i9305082/f519fc5cf924d3c0.jpg)
-
data是一组包含7个数据的随机数值
-
图中的标签通过labels来指定
-
autopct指定了数值的精度格式
-
plt.axis('equal')设置了坐标轴大小一致
-
plt.legend()指明要绘制图例(见下图的右上角)
图形如下所示:
![](https://img.haomeiwen.com/i9305082/ff2ce9defda65276.jpg)
条形图
![](https://img.haomeiwen.com/i9305082/36522a19c7c67658.jpg)
![](https://img.haomeiwen.com/i9305082/fc4c83e1a9a33b07.jpg)
说明如下:
-
这幅图展示了一组包含7个随机数值的结果,每个数值是[0, 100]的随机数
-
它们的颜色也是通过随机数生成的。np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)个随机数,然后将它们组装成7行,那么每行就是三个数,这对应了颜色的三个组成部分。如果不理解这行代码,请先学习一下Python 机器学习库 NumPy 教程
-
title指定了图形的标题,labels指定了标签,alpha是透明度
![](https://img.haomeiwen.com/i9305082/17df6e7c66045b93.jpg)
直方图
![](https://img.haomeiwen.com/i9305082/e4bbefee2565abbe.jpg)
![](https://img.haomeiwen.com/i9305082/123fc8e05a8cb76d.jpg)
![](https://img.haomeiwen.com/i9305082/1ee7b3631e9a4e79.jpg)
![](https://img.haomeiwen.com/i9305082/b7045f8f33c70ee9.jpg)
![](https://img.haomeiwen.com/i9305082/b578224e717c745c.jpg)
三组数据 在3000以下都有数据,频度是差不多的。蓝色条只有3000以下的数据,橙色条只有4000以下的数据。与随机数组数据刚好吻合。
网友评论