美文网首页Python学习资料整理
Python绘图库matplotlib基础教程

Python绘图库matplotlib基础教程

作者: 9ba4bd5525b9 | 来源:发表于2019-04-08 15:08 被阅读51次

    Python绘图主要时使用matplotlib这个库。具体来说是pylab和pyplot这两个子库。这两个库可以满足画图的基本需求。

    pylab神器:pylab.rcParams.update(params)。这个函数几乎可以调节图的一切属性,包括但不限于:坐标范围,axes标签字号大小,xtick,ytick标签字号,图线宽,legend字号等。

    scatter和 plot 函数的不同之处

    scatter才是离散点的绘制程序,plot准确来说是绘制线图的,当然也可以画离散点。

    scatter/scatter3做散点的能力更强,因为他可以对散点进行单独设置

    所以消耗也比plot/plot3大

    所以如果每个散点都是一致的时候,还是用plot/plot3好以下

    如果要做一些plot没法完成的事情那就只能用scatter了

    scatter强大,但是较慢。所以如果你只是做实例中的图,plot足够了。

     plt.ion()用于连续显示。

    首先在python中使用任何第三方库时,都必须先将其引入。即:

    import matplotlib.pyplot as plt

    或者:

    from matplotlib.pyplot import *

    1.建立空白图

    fig = plt.figure()

    也可以指定所建立图的大小

    fig = plt.figure(figsize=(4,2))

    也可以建立一个包含多个子图的图,使用语句:

    其中subplot()函数中的三个数字,第一个表示Y轴方向的子图个数,第二个表示X轴方向的子图个数,第三个则表示当前要画图的焦点。

    当然上述写法并不是唯一的,比如我们也可以这样写:

    plt.subplot(111)和plt.subplot(1,1,1)是等价的。意思是将区域分成1行1列,当前画的是第一个图(排序由行至列)。

    plt.subplot(211)意思就是将区域分成2行1列,当前画的是第一个图(第一行,第一列)。以此类推,只要不超过10,逗号就可省去。

    可以看到图中的x,y轴坐标都是从0到1,当然有时候我们需要其他的坐标起始值。 

    此时可以使用语句指定:

    ax1.axis([-1, 1, -1, 1])

    或者:

    plt.axis([-1, 1, -1, 1])

    效果如下:

    2.向空白图中添加内容,想你所想,画你所想

    首先给出一组数据:

    x = [1, 2, 3, 4, 5]

    y = [2.3, 3.4, 1.2, 6.6, 7.0]

    A.画散点图*

    plt.scatter(x, y, color='r', marker='+')

    plt.show()

    效果如下:

    这里的参数意义:

    1.x为横坐标向量,y为纵坐标向量,x,y的长度必须一致。

    2.控制颜色:color为散点的颜色标志,常用color的表示如下:

    b---blue  c---cyan  g---green    k----black

    m---magenta r---red  w---white    y----yellow

    有四种表示颜色的方式:

    用全名

    16进制,如:#FF00FF

    灰度强度,如:‘0.7’

    3.控制标记风格:marker为散点的标记,标记风格有多种:

    .  Point marker

    ,  Pixel marker

    o  Circle marker

    v  Triangle down marker 

    ^  Triangle up marker 

    <  Triangle left marker 

    >  Triangle right marker 

    1  Tripod down marker

    2  Tripod up marker

    3  Tripod left marker

    4  Tripod right marker

    s  Square marker

    p  Pentagon marker

    *  Star marker

    h  Hexagon marker

    H  Rotated hexagon D Diamond marker

    d  Thin diamond marker

    | Vertical line (vlinesymbol) marker

    _  Horizontal line (hline symbol) marker

    +  Plus marker

    x  Cross (x) marker

    B.函数图(折线图)

    数据还是上面的。

    fig = plt.figure(figsize=(12, 6))

    plt.subplot(121)

    plt.plot(x, y, color='r', linestyle='-')

    plt.subplot(122)

    plt.plot(x, y, color='r', linestyle='--')

    plt.show()

    效果如下:

    这里有一个新的参数linestyle,控制的是线型的格式:符号和线型之间的对应关系

    -      实线

    --    短线

    -.    短点相间线

    :    虚点线

    另外除了给出数据画图之外,我们也可以利用函数表达式进行画图,例如:y=sin(x)

    from math import *

    from numpy import *

    x = arange(-math.pi, math.pi, 0.01)

    y = [sin(xx) for xx in x]

    plt.figure()

    plt.plot(x, y, color='r', linestyle='-.')

    plt.show()

    效果如下:

    相关文章

      网友评论

        本文标题:Python绘图库matplotlib基础教程

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