zoukankan      html  css  js  c++  java
  • Matplotlib入门简介

    Matplotlib是一个用Python实现的绘图库。现在很多机器学习,深度学习教学资料中都用它来绘制函数图形。在学习算法过程中,Matplotlib是一个非常趁手的工具。

    一般概念

    图形(figure)
    类似于画布,它包含一个或多个子坐标系(axes)。至少有一个坐标系才能有用。

    下面是一段简单的示例代码,只是创建了一个子坐标系

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure() #空figure,没有坐标系.
    fig.suptitle("No Axes on this figure") #设置顶部标题
    
    fig, ax_lst = plt.subplots(2, 2) #一个2 x 2 网格的的坐标系

    坐标系(Axes): figure的绘图区域。一个figure只能有可以有多个Axes,但一个Axes只能位于一个figure中。一个Axes包含两个(在3D情况下有3个)坐标轴(Axis),Axis的主要作用是限制数据的范围(可使用Axes的set_xlim()和set_ylim()方法设限制)。每个坐标系有一个标题(title),使用set_title()设置,一个x轴标签(x-label,使用set_xlabel()设置),一个y轴标签(y-label,使用set_ylabel()设置)。

    坐标轴(Axis): 类似于数字线( number-line-like)的对象,可设置图表的限制并生成刻度和刻度标签。Locator对象用来决定刻度的位置。刻度标签字符串使用Formattor格式化。恰当的Locator和Formattor组合可以有效地控制刻度位置可刻度标签。

    画家(Artist): 一般来说,所有你能在figure中看到的都使用一个画家(Artist)(包括Figure, Axes和Axis对象),这其中包含:文本对象(Text), 2D线条(line2D), 集合对象,点(Path)对象等等。当一个figure被渲染时,所有的Artist都会在画布上回绘图。大多数Artist被绑定在一个Axes上,不能被多个Axes共享,或从一个Axes移动到另一个。

    绘图函数的输入类型

    所有的绘图函数期待的输入类型是np.array或np.ma.masked_array。看起来像数组的类比如np.martrix可能能正常使用。

    Matplotlib,pyplot和pylab之间的关系

    Matplotlib是整个包,matplotlib.pyplot是Matplotlib中的一个模块。
    对pyplot模块中的函数来说,总是有一个"当前的"figure和axes。例如在下面的例子中,第一次调用pyplot.plot会创建一个axes,接下来的一系列pyplot.plot调用回向同一个axes中添加多条线,plt.xlabel, plt.ylabel, plt.title and plt.legend调用回在这个axes中添加标签,标题和图例。

    x = np.linspace(0, 2, 100)
    
    plt.plot(x, x, label='linear')
    plt.plot(x, x**2, label='quadratic')
    plt.plot(x, x**3, label='cubic')
    
    plt.xlabel('x label')
    plt.ylabel('y label')
    
    plt.title("Simple Plot")
    
    plt.legend()
    
    plt.show()
    这段代码输出的图形如下。可以把最后一行的plt.show(),改成plt.savefig("simplePlot.png"),把图形输出成png格式的文件。

    pylab是一个可方便地把matplotlib.pyplot和numpy批量导入到一个独立命名空间的模块,现已被弃用,建议使用pyplot代替。

     

     

  • 相关阅读:
    原码, 反码, 补码 详解
    二进制与十进制间的转换方法(图文教程)
    题目要求:将a,b两个数的值进行交换,并且不使用任何的中间变量。
    【转】面向对象的7个基本设计原则
    【转】UML类图符号 6种关系说明以及举例
    关于try catch
    关于异常
    java File类中的mkdir()和mkdirs()有什么区别
    反射中getMethods 与 getDeclaredMethods 的区别
    【转】Java利用反射机制访问私有化构造器
  • 原文地址:https://www.cnblogs.com/brandonli/p/11942037.html
Copyright © 2011-2022 走看看