【数据科学】Python数据可视化概述

 :很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结。今天终于有时间来完成这个计划了!

 

0. Python中常用的可视化工具


Python在数据科学中的地位,不仅仅是因为numpy, scipy, pandas, scikit-learn这些高效易用、接口统一的科学计算包,其强大的数据可视化工具也是重要组成部分。在Python中,使用的最多的数据可视化工具是matplotlib,除此之外还有很多其他可选的可视化工具包,主要包括以下几大类:

  • matplotlib以及基于matplotlib开发的工具包:pandas中的封装matplotlib API的画图功能,seaborn,networkx等;
  • 基于JavaScript和d3.js开发的可视化工具:plotly等,这类工具可以显示动态图且具有一定的交互性;
  • 其他提供了Python调用接口的可视化工具:OpenGL, GraphViz等,这一类工具各有特点且在特定领域应用广泛.

对于数据科学,用的比较多的是matplotlib和seaborn,对数据进行动态或交互式展示时会用到plotly.

 

1. matplotlib与MATLAB


Matplotlib是建立在NumPy数组基础上的多平台数据可视化程序库,John Hunter在2002年提出了matplotlib的初步构想——在Python中画出类似MATLAB风格的交互式图形。鉴于此种渊源,类似MATLAB风格的画图接口是matplotlib的两种画图接口之一。这类接口直观、便捷,许多语法与MATLAB类似,也是初学者常用的方式。

这种接口最重要的特性是有状态的(stateful):它会持续跟踪"当前的"图形和坐标轴,所有plt命令都可以应用。可以用plt.gcf()(获取当前图形)和plt.gca()(获取当前坐标轴)来查看具体信息。

matplotlib画图的基本设置:

复制代码
1 import matplotlib as mpl 2 import matplotlib.pyplot as plt 3 mpl.rcParams['axes.linewidth'] = 1.5 #set the value globally, 设置坐标轴线宽4 import seaborn as sns 5 sns.set()  # 使用seaborn设置绘图风格
复制代码

更多自定义设置可以参考官方文档:Customizing matplotlib

下面使用MATLAB风格画图,对一组分类变量(categorical variables)进行可视化

复制代码
 1 names = ['group_a', 'group_b', 'group_c']  # 不同分类的名称 2 values = [1, 10, 100]  # 不同分类对应的值 3  4 plt.figure(1, figsize=(9, 3))  # 设置图片大小 5  6 plt.subplot(131)  # 1x3, 第一个子图 7 plt.bar(names, values)  # 柱状图 8 plt.subplot(132)  # 1x3, 第二个子图 9 plt.scatter(names, values)  # 散点图10 plt.subplot(133)  # 1x3, 第三个子图11 plt.plot(names, values)
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信