环境:

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. 如何使用maven搭建web项目

    博客园注册了有二十多天了,还没有写过博客,今天就发一篇,也便于后面查找笔记. 我个人已经做了几年的java web开发了,由于所在的公司是业务型公司,用的都是一些老旧的稳定技术,很少接触到稍微新点的内 ...

  2. JAVA反射机制基础概念

    反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠覆原来对java的理解. J ...

  3. Linux下Java通用安装方法

    1.到oracle官网下下载对应jdk包,一般为%x64%.tar.gz格式. 2.建立目录: $ mkdir /usr/local/java 3.将压缩包解压至/usr/local/java 4.修 ...

  4. 库函数strstr的实现

    没什么说的,常规思路: 函数原型:const char* StrStr(const char *str1, const char *str2) 方法一: str1:源字符串: str2:需要查找的目的 ...

  5. Flask 扩展 Flask-RESTful

    Flask路由可以指定HTTP请求方法,并在请求函数中根据不同的请求方法,执行不同的逻辑.这样实现一个Restful的请求已经相当简单了 Flask还有更简便的方法,就是其Flask-RESTful扩 ...

  6. bzoj千题计划128:bzoj4552: [Tjoi2016&Heoi2016]排序

    http://www.lydsy.com/JudgeOnline/problem.php?id=4552 二分答案 把>=mid 的数看做1,<mid 的数看做0 这样升序.降序排列相当于 ...

  7. JSONP 详解

    1.什么是JSONP ? JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实 ...

  8. Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题

    Linux安装svn服务 ** 示例都是用的root权限,可选择用 sudo** 1:检查 安装条件为:Linux(centos)上未安装过svn服务,若安装过或安装失败请自行删除,这里不多介绍.检查 ...

  9. LeetCode & Q219-Contains Duplicate II

    Array Hash Table Description: Given an array of integers and an integer k, find out whether there ar ...

  10. Web Api 接收图片

    public async Task<HttpResponseMessage> Upload() { if (!Request.Content.IsMimeMultipartContent( ...