Python 可视化之matplotlib模块浅析

784 阅读3分钟

这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

前言

互联网时代下,在网络中每天都会产生很多数据,通过对数据分析之后,如何更好的诠释数据背后的意义,我们需要对数据进行可视化展示。

在数据可视化中,Python 也支持第三模块

  • matplotlib 模块:Python使用最多的可视化库
  • seaborn 模块:基于matplotlib的图形可视化
  • pycharts 模块:用于生成Echarts 图表的类库

image.png

本期,我们对matplotlib模块提供的图形方法进行学习,Let's go~

1. matplotlib 模块概述

matplotlib 模块是第三方开源的,由John Hunter团队研发而成,NumFOCUS 的赞助项目。

matplotlib 模块是用于Python创建静态、动态和交互式可视化综合性的库。

image.png

  • matplotlib 模块特点

    • 易创建图表如出版质量图、交互式数据可放大、缩小
    • 定制化图表可完全控制线条样式、导入并嵌入多种文件格式
    • 扩展性高,可以与第三方模块进行兼容
    • matplotlib 模块资料手册信息丰富,可快速上手
  • matplotlib 模块获取

    matplotlib 是Python主流第三方可视化模块,我们需要使用pip进行下载

    pip install matplotlib
    
  • matplotlib 模块使用

    在matplotlib模块中,pyplot类是最常用的。

    • 方式一:
    from matplotlib import pyplot
    
    • 方式二:
    import matplotlib.pyplot as plt
    

🔔 重要说明

  1. matplotlib 模块官方资料
  2. 查看matplotlib内部代码说明

image.png

2. matplotlib.pyplot 相关方法

matplotlib.pyplot 模块是我们画图标最常用的模块之一

方法作用
pyplot.title(name)图表的标题
pyplot.xlabel(name)图表的X轴名字
pyplot.ylabel(name)图表的y轴名字
pyplot.show()打印出图表
pyplot.plot(xvalue,yvalue)绘制折线图表
pyplot.bar(xvalue,yvalue)绘制柱状图表
pyplot.axis(data)获取或设置一些轴属性的便捷方法
pyplot.scatter(data)绘制散点图
pyplot.subplot(data)绘制子图
pyplot.grid(boolean)显示网状,默认为False
pyplot.text()对文本进行处理
pyplot.pie(data)绘制饼图
pyplot.boxplot(data)绘制箱形图
pyplot.hist(data)绘制直方图

3. matplotlib.pyplot 图表展示

  • 绘制折线图

    • 使用pyplot..plot()方法
    from matplotlib import pyplot
    
    # 设置图表字体格式
    pyplot.rcParams["font.sans-serif"]=['SimHei']
    pyplot.rcParams["axes.unicode_minus"]=False
    
    pyplot.plot([1,2,3,4,5,6],[45,20,19,56,35,69])
    
    pyplot.title("data analyze")
    pyplot.xlabel("data")
    pyplot.ylabel("sum")
    
    pyplot.show()
    

    image.png

  • 绘制柱状图

    • 使用pyplot..bar()方法
    • 再次使用上面的数据,可以看到直方图
    pyplot.bar([1,2,3,4,5,6],[45,20,19,56,35,69])
    

    image.png

  • 绘制饼图

    • 使用pyplot.pie()方法绘制饼图
    • 同时使用pyplot.axis方法设置每一个分区间隔
    from matplotlib import pyplot
    labels = ["windows","MAC","ios","Android","other"]
    sizes = [50,10,5,15,20]
    explode = [0,0.1,0,0,0]
    pyplot.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)
    pyplot.axis("equal")
    
    pyplot.title("data analyze")
    pyplot.show()
    

    image.png

  • 绘制散点图

    • 使用pyplot.scatter(x,y)绘制散点图
    import numpy as np
    from matplotlib import pyplot
    
    data = {"a":np.arange(50),"c":np.random.randint(0,50,50),"d":np.random.randn(50)}
    
    data['b'] = data['a']+10*np.random.randn(50)
    data['d'] = np.abs(data['d'])*100
    
    pyplot.scatter("a","b",c='c',s='d',data=data)
    
    pyplot.title("data analyze")
    pyplot.xlabel("元素 a")
    pyplot.ylabel("元素 b")
    
    pyplot.show()
    

    image.png

总结

本期,我们对matplotlib.pyplot 模块绘制相关如折线、柱状、散点、圆饼图表进行简单地学习

在学习的过程中,我们发现pyplot 模块简单上手,发现在展示之前我们所有的数据是关键点

以上是本期内容,欢迎大佬们点赞评论,我们下期见~