Matplotlib

作者: MA木易YA | 来源:发表于2019-03-06 17:06 被阅读32次

        Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式

    matplotlib三层结构

    1. 容器层

    对画布进行创建,定义相关属性

    • 画板层Canvas
    • 画布层Figure(可指定画布属性,大小、清晰度等)
    • 绘图区/坐标系(可指定多区域、坐标系显示,通过figure、axes对象)

    2. 辅助显示层

    增加相关显示功能、描述

    • 修改x、y轴刻度(plt.x/yticks())
    • 添加描述信息(plt.x/ylabel();plt.title())
    • 添加网格(plt.grid())

    3. 图像层

    具体描绘的图像风格、种类等等

    I. 折线图

    plt.plot()
    
    plt.subplots
    figure, axes = plt.subplots(nrows=1, ncols=2, **fig_kw)
    
    axes[0].方法名()
    

    II. 散点图

    plt.scatter(x,y)
    

    III. 柱状图

    matplotlib.pylot.bar(x,y, width, align='center', **kwargs)
    

    IV. 直方图

    matplotlib.pylot.hist(x,y, bins=None, normed=None, **kwargs)
    
    bins(组数) = (max(x)-min(x))//(组距)
    

    V. 饼图

    plt.pie(x, labels=autopct=,color=)
    
    • x,数量,自动计算占比

    • labels,每部分名称

    • actopct 占比显示指定%1.2f%%

    • color 每部分颜色

    • plt.axis('equal')——保证饼图圆形,保证长宽一致

    总结

        总得来说,Matplotlib绘图过程无非几步:
    1. 准备数据
    2. 创建画布
    3. 绘制图像(根据不同图像类别调用不同方法)
    4. 辅助绘制(刻度、图例等)
    5. 图像显示/保存

    • 更多相关方法可以去官网的api上查询文档:matplotlib:

    示例( 温度变化折线图)

    import matplotlib.pyplot as plt
    import random
    
    
    if __name__ == '__main__':
        #准备数据
        x = range(60)
        y_shanghai = [random.uniform(15, 18) for i in x]
        #创建画布
        plt.figure(figsize=(20, 8), dpi=80)
    
        #绘制图像
        plt.plot(x, y_shanghai, color='b', linestyle='--', label='上海')
    
        #显示图例
        plt.legend()
    
        #准备x、y的刻度以及刻度说明
        x_label = ["11点{}分".format(i) for i in x]
        plt.xticks(x[::5], x_label[::5])
        plt.yticks(range(0, 40, 5))
    
        #添加网格
        plt.grid(linestyle='--', alpha=0.5)
    
        plt.xlabel("时间变化")
        plt.ylabel("温度变化")
        plt.title("某城市11点到12点温度变化")
    
        plt.show()
    

    相关文章

      网友评论

        本文标题:Matplotlib

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