Matplotlib是一种免费、开源且跨平台的数据可视化工具
还是挺有趣的一个python工具

先导入这个库

1
2
import numpy as np
import matplotlib.pyplot as plt

绘图的两种风格


Matlab风格

  • 源码
    1
    2
    3
    4
    5
    6
    7
    x = np.linspace(0,2*np.pi,100)      # x轴取0-2π的100个点
    y1 = np.sin(x) # y轴取x轴的sin值
    y2 = np.cos(x) # 另一条线的y轴取x的cos值
    # 做图,参数1为x轴,参数2为y轴
    plt.plot(x,y1)
    plt.plot(x,y2)
    plt.show() # 显示数据表
  • 效果

面向对象风格

  • 源码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 建立"画板"
    fig = plt.figure()
    # 建立"坐标系" 参数为[左,下,右,上]相对于figure画板的位置
    ax = fig.add_axes([0.1,0.1,0.8,0.8])
    # 建立x轴 从0-2π取100个数据
    x = np.linspace(0,2*np.pi,100)
    # 将数据放入坐标系中,并求其sin值
    ax.plot(x,np.sin(x))
    plt.show()
  • 效果

设置坐标系


grid()添加网格

  • Matlab风格

    1
    2
    3
    4
    5
    6
    x = np.arange(0,10,0.02)
    y = np.cos(2*x)
    plt.plot(x,y)
    # 设置蓝色的网格线
    plt.grid(color='blue')
    plt.show()
  • 效果

  • 面向对象风格

    1
    2
    3
    4
    5
    6
    7
    8
    fig = plt.figure()
    ax = fig.add_axes([0.1,0.1,0.8,0.8])
    x = np.arange(0,10,0.02)
    y = np.cos(2*x)
    ax.plot(x,y)
    # 设置红色的网格线
    ax.grid(color='red')
    plt.show()
  • 效果

设置坐标轴


  • 源码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    fig = plt.figure()
    ax = fig.add_axes([0.1,0.1,0.8,0.8])
    x = np.arange(0,10,0.02)
    y = np.cos(2*x)
    ax.plot(x,y)

    # 设置x轴与y轴的标签
    ax.set_xlabel("xxxxxx")
    ax.set_ylabel("yyyyyy")
    # 设置x轴区间
    import matplotlib
    matplotlib.rcParams['axes.unicode_minus'] = False # 解决不显示负数的问题
    ax.set_xlim((-2,10)) # 设置区间
    plt.show()
  • 效果


 评论

载入天数...载入时分秒...