Pyplot简明教程

作者: fasionchan | 来源:发表于2016-09-01 22:00 被阅读394次

    matplotlib.pyplot
    提供一系列类似Matlab的命令式函数。每个函数可以对图形对象做一些改动,比如:新建一个图形对象、在图形中开辟绘制区、在绘制区画一些曲线、为曲线打上标签等等。在matplotlib.pyplot
    中,大部分状态是跨函数调用共享的。因此,它会跟踪像当前图形对象和绘制区,绘制函数直接作用于当前绘制对象。

    先画一条线

    举一个最简单的例子,画一条直线练练手吧,代码如下:

    import matplotlib.pyplot as plt
    
    plt.plot([1, 2, 3, 4])
    plt.ylabel('some number')
    plt.show()
    

    第一行是通过给定四个点画一条曲线(直线),四个点只给出纵坐标,横坐标是隐含的[0, 1, 2, 3];第二行设置Y轴标签;最后一行将图形展示出来。

    line.png

    plot函数详解

    plot()
    是一个多用途的命令函数,可以给定任意多的参数。例如,如果不想用默认的X轴坐标,可以用以下命令:

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    

    其中,横坐标是[1, 2, 3, 4],纵坐标是[1, 4, 9, 16]

    此外,对于每一组坐标,可以提供第三个可选参数——格式字符串,用于指定颜色以及线条类型。格式字符串与Matlab类似,包括一个颜色串以及一个线条样式串。默认的格式字符串是'b-',代表蓝色实线。但是,也可以指定画成红色小圆圈,例如:

    import matplotlib.pyplot as plt
    
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
    plt.axis([0, 6, 0, 20])
    plt.show()
    
    points.png

    例子中,axis()
    函数接收一个列表[xmin, xmax, ymin, ymax]作为参数,用来指定坐标轴的范围。plot()
    函数支持的格式化字符串列表如下:

    线条样式

    字符串 描述
    '-' 实线
    '--' (短划)虚线
    '-.' (短划点间隔)虚线
    ':' (点)虚线
    '.'
    ',' 像素点(小)
    'o' 圆圈
    'v' (向下)三角形
    '^' (向上)三角形
    '<' (向左)三角形
    '>' (向右)三角形
    '1'
    '2'
    '3'
    '4'
    's' square - 正方形
    'p' pentagon - 正五边形
    '*' 五角星
    'h' hexagon - 正六边形
    'H' hexagon - 正六边形
    '+' 加号
    'x' 叉号
    'D' diamond - 菱形
    'd' diamond - 菱形(扁)
    '' 垂直竖线
    '_' 水平横线

    颜色

    字符串 颜色
    'b' blue - 蓝色
    'g' green - 绿色
    'r' red - 红色
    'c' cyan - 蓝绿色
    'm' magenta - 品红色
    'y' yellow - 黄色
    'k' black - 黑色
    'w' white - 白色

    numpy数值计算

    如果matplotlib只能使用列表,那么数值计算方面的能力将大打折扣。一般情况下,做数值计算都是使用numpy数组,在matplotlib中也可以使用。事实上,在matplotlib内部,所有序列都会先转化成numpy数组。下面这个例子,演示使用numpy数组,用一条命令画几条样式不同的曲线。

    import numpy as np
    import matplotlib.pyplot as plt
    
    # 以200毫秒为间隔均匀取样
    t = np.arange(0., 5., 0.2)
    
    # 一次方曲线:红(短划)虚线
    # 二次方曲线:蓝方格
    # 三次方曲线:绿三角
    plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
    plt.show()
    
    numeric.png

    看到numpy数组的威力了吧!

    相关文章

      网友评论

        本文标题:Pyplot简明教程

        本文链接:https://www.haomeiwen.com/subject/tcchettx.html