Python数据可视化系列-01-快速绘

发布时间:2019-03-22 21:57:09编辑:auto阅读(2379)

    快速绘图

    数据图绘制

    matplotlib的字库pyplot提供了快速绘制2D图标的API接口。

    import numpy as np
    import matplotlib.pyplot as plt
    x = np.linspace(0, 10, 1000)
    y = np.sin(x)
    z = np.cos(x**2)
    plt.figure(figsize=(8, 4))
    plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)
    plt.plot(x, z, "b--", label="$cos(x^2)$")
    plt.xlabel("Time(s)")
    plt.ylabel("Volt")
    plt.title("PyPlot First Example")
    plt.ylim(-1.2, 1.2)
    plt.legend()
    plt.show()

    数据图属性配置

    Figure对象
    Figure对象,此对象在调用plt.figure函数时返回,通过plt.gcf函数获取当前的绘图对象
    语法plt.gcf()

    axes属性
    Figure对象有一个axes属性,其值为AxesSubplot对象的列表,每个AxesSubplot对象代表图表
    中的一个子图,前面所绘制的图表只包含一个子图,当前子图也可以通过plt.gca获得。

    设置和得到属性方法
    set_*
    plt.setp函数配置多个Line2D对象的颜色和线宽属性
    get_*
    plt.getp函数获取对象的属性值

    import numpy as np
    import matplotlib.pyplot as plt
    x = np.arange(0, 5, 0.1)
    
    # plot函数返回一个 matplotlib.lines.Line2D 对象的列表
    line, = plt.plot(x, x*x) # plot返回一个列表,通过line,获取其第一个元素
    line.set_antialiased(False) # 调用Line2D对象的set_*方法设置属性值
    line.get_linewidth()
    
    # 同时绘制sin和cos两条曲线,lines是一个有两个Line2D对象的列表
    lines = plt.plot(x, np.sin(x), x, np.cos(x))
    # 调用setp函数同时配置多个Line2D对象的多个属性值
    plt.setp(lines, color="r", linewidth=2.0)
    plt.getp(lines[0], "color") # 返回color属性
    plt.getp(lines[1]) # 输出全部属性
    
    f = plt.gcf() # get current Figure 对象
    plt.getp(f) # 得到当前figure对象的全部属性
    plt.getp(f, "axes") # 得到当前axes属性, Figure对象有一个axes属性
    # [<matplotlib.axes.AxesSubplot object at 0x05CDD170>]
    plt.gca() # 得到当前axes属性, Figure对象有一个axes属性
    # <matplotlib.axes.AxesSubplot object at 0x05CDD170>

关键字