环境:

Windows10
python3.6.4
numpy1.14.1
matplotlib2.1.2
工具:Cmder

目录:

1.线性图
2.散点图
3.饼状图
4.条形图
5.直方图

例1:一条简单的线性直线

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201) ##可以尝试改下范围值看看图片有什么变话
plt.plot(data)
plt.show()

注:

1.通过np.arange(100, 201)生成一个[100, 200]之间的整数数组,它的值是:[100, 101, 102, … , 200]
2.通过matplotlib.pyplot将其绘制出来。
  很显然,绘制出来的值对应了图中的纵坐标(y轴)。
  而matplotlib本身为我们设置了图形的横坐标(x轴):[0, 100],因为我们刚好有100个数值
3.通过plt.show()将这个图形显示出来

例2:一次画多个直线

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201)
plt.plot(data) data2 = np.arange(200, 301)
plt.figure()
plt.plot(data2) plt.show()

例2~:画在同一个画板中

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201)
plt.subplot(2, 1, 1)
plt.plot(data) data2 = np.arange(200, 301)
plt.subplot(2, 1, 2)
plt.plot(data2) plt.show()

plt.subplot(2, 1, 1) Return a subplot axes at the given grid position.

创建一个2行1列的图片,并在第一个位置【第1行第1列】中准备创建一个图

例3:线型图【比起例1来说,我们x,y都是已有的】

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [3, 6, 9], '-r')
plt.plot([1, 2, 3], [2, 4, 9], ':g') plt.show()

1.plot函数的第一个数组是横轴的值,第二个数组是纵轴的值,所以它们一个是直线,一个是折线;
2.最后一个参数是由两个字符构成的,分别是线条的样式和颜色。
  前者是红色的直线,后者是绿色的点线。

注:API:matplotlib.pyplot.plot 文档

例4:散点图【借助于scatter函数绘制散点】

import matplotlib.pyplot as plt
import numpy as np N = 20
##plt.scatter(x,y,color颜色,size大小,alpha透明度)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='r', s=100, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='g', s=200, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='b', s=300, alpha=0.5) plt.show()

注:

1.这幅图包含了三组数据,每组数据都包含了20个随机坐标的位置
2.参数c表示点的颜色,s是点的大小,alpha是透明度

注:API:matplotlib.pyplot.scatter 文档

例5:饼状图【pie函数可用于绘制饼状图】

import matplotlib.pyplot as plt
import numpy as np labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data = np.random.rand(7) * 100 plt.pie(data, labels=labels, autopct='%1.1f%%')
plt.axis('equal')
plt.legend() plt.show()

注:

1.data是一组包含7个数据的随机数值
2.图中的标签通过labels来指定
3.autopct指定了数值的精度格式
4.plt.axis('equal')设置了坐标轴大小一致
5.plt.legend()指明要绘制图例(见下图的右上角)

注:API:matplotlib.pyplot.pie 文档

例6:条形图【bar函数可用于绘制条形图】

import matplotlib.pyplot as plt
import numpy as np N = 7 x = np.arange(N)
data = np.random.randint(low=0, high=100, size=N)
colors = np.random.rand(N * 3).reshape(N, -1)
labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] plt.title("Weekday Data")
plt.bar(x, data, alpha=0.8, color=colors, tick_label=labels)
plt.show()

注:

1.这幅图展示了一组包含7个随机数值的结果,每个数值是[0, 100]的随机数
2.它们的颜色也是通过随机数生成的。
  np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)个随机数,然后将它们组装成7行,那么每行就是三个数,这对应了颜色的三个组成部分RGB。
3.title指定了图形的标题,labels指定了标签,alpha是透明度

注:API:matplotlib.pyplot.bar 文档

例7:直方图【hist函数可用于绘制直方图】

import matplotlib.pyplot as plt
import numpy as np data = [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]
labels = ['3K', '4K', '5K']
bins = [0, 100, 500, 1000, 2000, 3000, 4000, 5000] plt.hist(data, bins=bins, label=labels)
plt.legend() plt.show()

注:

[np.random.randint(0, n, n) for n in [3000, 4000, 5000]]生成了包含了三个数组的数组,这其中:
第一个数组包含了3000个随机数,这些随机数的范围是 [0, 3000)
第二个数组包含了4000个随机数,这些随机数的范围是 [0, 4000)
第三个数组包含了5000个随机数,这些随机数的范围是 [0, 5000)
bins数组用来指定我们显示的直方图的边界,即:
[0, 100) 会有一个数据点,
[100, 500)会有一个数据点,以此类推。所以最终结果一共会显示7个数据点。

注:API:matplotlib.pyplot.hist 文档

【Matplotlib-01】Python 绘图库 Matplotlib 入门教程的更多相关文章

  1. Python 绘图库Matplotlib入门教程

    0 简单介绍 Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像. 1 安装 pip install matplotlib 2 入门代码 ...

  2. Python第三方库matplotlib(2D绘图库)入门与进阶

    Matplotlib 一 简介: 二 相关文档: 三 入门与进阶案例 1- 简单图形绘制 2- figure的简单使用 3- 设置坐标轴 4- 设置legend图例 5- 添加注解和绘制点以及在图形上 ...

  3. python 绘图库 Matplotlib

    matplotlib官方文档 使用Matplotlib,能够轻易生成各种图像,例如:直方图.波谱图.条形图.散点图等. 入门代码实例 import matplotlib.pyplot as plt i ...

  4. Ubuntu下安装Python绘图库Matplotlib的方法

    在安装好Python的基础上, sudo apt-get install python-numpy sudo apt-get install python-scipy sudo apt-get ins ...

  5. windows环境下,用python绘图库matplotlib绘图时中文乱码问题

    1.下载中文字体(看自己爱好就行)下面这个举例: SimHei - Free Font Download​www.fontpalace.co 2.下载之后,打开即可安装,将字体安装进windows系统 ...

  6. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  7. PySide——Python图形化界面入门教程(四)

    PySide——Python图形化界面入门教程(四) ——创建自己的信号槽 ——Creating Your Own Signals and Slots 翻译自:http://pythoncentral ...

  8. PySide——Python图形化界面入门教程(六)

    PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tu ...

  9. PySide——Python图形化界面入门教程(五)

    PySide——Python图形化界面入门教程(五) ——QListWidget 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-the-qlistw ...

随机推荐

  1. java————面向对象概念

    面向对象 OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 面向对象的特征 继承,封装,多态 什么是对象? 对象是存在的具体实体,具有明确定义的特征和行为. 万物皆对象 ...

  2. Beta冲刺第四天

    一.昨天的困难 没有困难. 二.今天进度 1.林洋洋:修复协作详情,日程详情日程类型显示纠正 2.黄腾达:修复管理者查看协作成员可以移除自己的问题,加入登录.注册表单按回车键就可直接完成操作的功能 3 ...

  3. Java 密码学算法

    Java 密码学算法 候捷老师在< 深入浅出MFC 2e(电子版)>中引用林语堂先生的一句话: 只用一样东西,不明白它的道理,实在不高明 只知道How,不知道Why,出了一点小问题时就无能 ...

  4. pickle使用及案例

    一.字典格式数据源写入数据库文件 #!/usr/bin/env python # -*- coding:utf-8 -*- import pickle accounts ={1000:'alex', ...

  5. windows系统下安装 node.js (node.js安装及环境配置)

    node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node. ...

  6. java 注解的实现机制

    一.什么是注解: 注解是标记,也可以理解成是一种应用在类.方法.参数.属性.构造器上的特殊修饰符.注解作用有以下三种: 第一种:生成文档,常用的有@param@return等. 第二种:替代配置文件的 ...

  7. Connect Appium Server Fail.A new session could not be created

    1.由于安卓测试机性能低下,并不能支持测试工作,想安装一个模拟器帮助测试,然后发现群里有朋友发了一个夜神模拟器..下载..安装..美滋滋的准备运行脚本.What..居然报错了..orz..然后百度查找 ...

  8. 安装 go 语言环境

    操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 安装go 这里直接安装二进制,其它方式请自行搜索. 1.下载并安装go 命令如下: ? 1 2 3 wget https://st ...

  9. Pyhon之Django中的Form组件

    Pyhon之Django中的Form组件   新手上路 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面 ...

  10. mybatis配置多数据源(利用spring的AbstractRoutingDataSource)

    主要是利用了spring的AbstractRoutingDataSource. 直接上配置了: spring-mybatis.xml <bean name="dataSource&qu ...