有这5小段代码在手,轻松实现数据可视化(Python+Matplotlib)
作者:媒体转发 时间:2018-05-01 09:27

大数据文摘作品
编译:傅一洋、吴双、龙牧雪
本文要讲的是Matplotlib,一个强大的Python可视化库。一共5小段代码,轻松实现散点图、折线图、直方图、柱状图、箱线图,每段代码只有10行,也是再简单不过了吧!
数据可视化是数据科学家工作的一项主要任务。在项目早期阶段,通常会进行探索性数据分析(EDA)以获取对数据的理解和洞察,尤其对于大型高维的数据集,数据可视化着实有助于使数据关系更清晰易懂。
同时在项目结束时,以清晰、简洁和引人注目的方式展示最终结果也是非常重要的,因为受众往往是非技术性客户,只有这样,他们才更容易去理解。
Matplotlib是个很流行的Python库,可以轻松实现数据可视化。但是,每次执行新项目的绘图时,设置数据、参数、图形的过程都非常的繁琐。 在本文中,我们将着眼于5种数据可视化方法,用Python的Matplotlib库实现一些快速而简单的功能。
首先,请大家看看这张大的地图,它能指引你根据不同情况,选择正确的可视化方法:

根据情况选择适当的数据可视化技术
散点图
散点图非常适合展现两个变量间关系,因为,图中可以直接看出数据的原始分布。还可以通过设置不同的颜色,轻松地查看不同组数据间的关系,如下图所示。那如果想要可视化三个变量之间的关系呢?没问题!只需再添加一个参数(如点的大小)来表示第三个变量就可以了,如下面第二个图所示。

以颜色分组的散点图

加入新维度:圆圈大小
现在来写代码。首先导入Matplotlib库的pyplot子库,并命名为plt。使用 plt.subplots()命令创建一个新的图。将x轴和y轴数据传递给相应数组x_data和y_data,然后将数组和其他参数传递给ax.scatter()以绘制散点图。我们还可以设置点的大小、颜色和alpha透明度,甚至将y轴设置成对数坐标。最后再为该图设置好必要的标题和轴标签。这个函数轻松地实现了端到端的绘图!
import matplotlib.pyplot as plt
import numpy as np
def scatterplot(x_data, y_data, x_label="", y_label="", title="", color = "r", yscale_log=False):
# Create the plot object
_, ax = plt.subplots()
# Plot the data, set the size (s), color and transparency (alpha)
# of the points
ax.scatter(x_data, y_data, s = 10, colorcolor = color, alpha = 0.75)
if yscale_log == True:
ax.set_yscale('log')
# Label the axes and provide a title
ax.set_title(title)
ax.set_xlabel(x_label)
ax.set_ylabel(y_label)
折线图



