Python数据可视化,Matplotlib库果然很硬核(18)

时间:2021-08-16 01:06:18

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

今天我们学习下如何用Pythons实现数据可视化。

什么是数据可视化呢?

一堆数据,如果我们单独一一看的话,比较难看出总体特别之处。

如果把这些数据做成各种图,是不是看起来就很显眼了呢?

我们随便从网上找几张图片如下,把数据通过图表方式显示出来,就是数据可视化。

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

Python中,数据可视化库非常多,比如Matplotlib、Seaborn、Pyecharts、Plotline等。

有一个职业叫数据分析师,就是每天和数据打交道。

Matplotlib可谓在平面绘图领域用得最广泛了,它借鉴了很多Matlab函数,可以绘制出高质量的图表,除了二维图,它也可以绘制三维图和动画等。

Matplotlib使用前需要用pip指令安装下。

折线图

import matplotlib.pylot as plt

导入matplotlib中的子库pylot,并重命名为plt。

根据listx和listy两个列表,绘制折线。

语法:plot(列表x,列表y)

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

自定义样式之颜色color

Python数据可视化,Matplotlib库果然很硬核(18)

自定义样式之线条外观linestyle

  • solid:实线

  • dashed:虚线

  • dotted:点线

  • dashdot:点划线

Python数据可视化,Matplotlib库果然很硬核(18)

自定义样式之阶段外观

可以使用marker参数来定义节点的外观,取值很多,使用时可以查找到即可。

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

还可以设置节点的大小和颜色

Python数据可视化,Matplotlib库果然很硬核(18)

通用设置

定义标题

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

定义图例

Python数据可视化,Matplotlib库果然很硬核(18)

画布样式

Python数据可视化,Matplotlib库果然很硬核(18)

坐标轴刻度

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

坐标轴范围

Python数据可视化,Matplotlib库果然很硬核(18)

网格线

Python数据可视化,Matplotlib库果然很硬核(18)

描述文本

Python数据可视化,Matplotlib库果然很硬核(18)

添加注释

Python数据可视化,Matplotlib库果然很硬核(18)

还有一些通用样式参数,可以被绝大多数绘图方法使用。

  • color:颜色

  • frontsize:文本大小

  • ha:水平对齐,horizontal align

  • va:垂直对齐,vertical align

  • label:图例

  • alpha:不透明度(0~10)

柱状图

可以使用bar()函数绘制柱状图,柱状图也称为条形图。

语法:bar(列表x,列表y)

基本绘图

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

横向柱状图

Python数据可视化,Matplotlib库果然很硬核(18)

堆叠柱状图

Python数据可视化,Matplotlib库果然很硬核(18)

并列柱状图

Python数据可视化,Matplotlib库果然很硬核(18)

直方图

直方图用于统计各个区间数据的个数。

可以使用hist()函数绘制直方图。

语法:hist(data,group)

data必选

group可选,是否分组、如不设置库会自动分组,但不太理想,一般设置下更好。

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

hist()函数提供了很多参数,可自定义样式。

比如rwidth设置直方图宽度,取值0~1.0,color设置颜色,edgecolor设置边框颜色。

Python数据可视化,Matplotlib库果然很硬核(18)

直方图和柱状图有什么区别?

直方图y轴表示统计区间的频率。

柱状图y轴表示数值。

直方图统计数据,柱状图展示数据。

饼状图

可以使用pie()绘制饼状图,没有坐标系,用于展示各个部分占总的比例。

语法:pie(列表)

Python数据可视化,Matplotlib库果然很硬核(18)

pie()函数提供了许多参数,可自定义样式

  • labels:各部分标题,列表

  • colors:各部分颜色,列表

  • autopct:显示百分比

  • explode:是否拉出某部分,元组

  • shadow:是否显示阴影,元组

Python数据可视化,Matplotlib库果然很硬核(18)
Python数据可视化,Matplotlib库果然很硬核(18)

散点图

可以使用scatter()绘制散点图。

语法:scatter(列表x,列表y)

散点图类似折线图,只显示点,不显示点点之间的线。

Python数据可视化,Matplotlib库果然很硬核(18)

scatter()函数提供了许多参数,可自定义样式

  • s:散点大小

  • color:散点颜色

  • alpha:散点不透明度(0~1.0)

  • marker:散点形状

  • label:图例

Python数据可视化,Matplotlib库果然很硬核(18)

面积图

可以使用stackplot()绘制面积图。

Python数据可视化,Matplotlib库果然很硬核(18)

参考资料

https://github.com/matplotlib/matplotlib

《从0到1Python快速上手》

看得出,Matplotlib使用简单,功能强大,的确是数据分析的利器,下次如果需要处理数据,一定要想起它哦!

Python数据可视化,Matplotlib库果然很硬核(18)

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!