环境:

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. 解决Hystrix Dashboard 一直是Loading ...的情况

    Hystrix是什么 Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复. Hy ...

  2. js 声明提升

    声明提前变量在声明之前已经可以使用了 js中的所有的变量声明都提升到函数体内的顶部 ,如下图 实际运行的情况是如下 function f1() {-- var scope ; console.log( ...

  3. string和c_str()使用时的坑

    先看一段代码和它的运行结果: 看到结果了么这个运行的结果和我们理解的是不会有差距.对于经验丰富的开发者可能会微微一笑,但是对于一个刚刚学习的人就开始疑惑了.这里主要说两个问题: 1.声明了一个stri ...

  4. 使用idea新建jsp

    使用idea解决新建jsp文件而找不到jsp文件模版的新建选项,这样每次创建一个新的jsp文件岂不是很耗时间? 解决办法: 就是要让idea知道你需要在这个目录下创建jsp文件 左上角,file中点击 ...

  5. 设置如何远程连接mysql数据库

    安装好mysql5.6.37后,默认情况下,只允许本地登录,禁止远程登录. 可以现在本地安装好连接工具,比如sqlyog或者navicat 登陆后,切换至mysql数据库 执行下面2条语句 '; FL ...

  6. 《Language Implementation Patterns》之 解释器

    前面讲述了如何验证语句,这章讲述如何构建一个解释器来执行语句,解释器有两种,高级解释器直接执行语句源码或AST这样的中间结构,低级解释器执行执行字节码(更接近机器指令的形式). 高级解释器比较适合DS ...

  7. JAVA面向对象的多态性

    什么是多态?简而言之就是相同的行为,不同的实现. 而多态也分为静态多态(重载).动态多态(重写)和动态绑定. 静态动态,实际就是指的重载的概念,是系统在编译时,就能知晓该具体调用哪个方法.动态多态指在 ...

  8. 如何用tomcat实现类似weblogic那样的热部署方式

    平时weblogic部署程序包时一般是到控制台去部署,不需要重启. 相反之前用tomcat部署应用时,我一般都是把tomcat重启来完成程序包的更新或新包部署.但是这次要部署的应用有点多,大概10几个 ...

  9. nyoj 疯牛

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小 ...

  10. JAVA_SE基础——20.数组的常见操作

    1.遍历数组 使用for循环来遍历数组 代码如下: public class Ergodic { public static void main(String[] args) { int[] arr ...