50种常用的matplotlib可视化,再也不用担心模型背着我乱跑了
作者:网友投稿 时间:2019-01-14 16:48
数据分析与机器学习中常需要大量的可视化,因此才能直观了解模型背地里都干了些什么。而在可视化中,matplotlib 算得上是最常用的工具,不论是对数据有个预先的整体了解,还是可视化预测效果,matplotlib 都是不可缺失的模块。最近 Machine Learning Plus 的作者介绍了 50 种最常用的 matplotlib 可视化图表,而本文简要介绍了这篇文章,详细的 50 种可视化需要查阅原文。

50 种可视化图原地址:
https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python
介绍
该表格主要介绍了 7 种不同的 matplotlib 可视化类别,读者可根据目的选择不同的图。例如,如果你想要绘制两个变量之间的关系,查看下面 Correlation 部分;或者如果你想展示某个变量的动态变化,查看下面的 Change 部分。
一个美丽的图表应该:
提供准确、有需求的信息,不歪曲事实;
设计简单,获取时不会太费力;
美感是为了支持这些信息,而不是为了掩盖这些信息;
不要提供太过丰富的信息与太过复杂的结构。
如下所示为 7 种不同类型的可视化图表:协相关性主要描述的是不同变量之间的相互关系;偏差主要展现出不同变量之间的差别;排序主要是一些有序的条形图、散点图或斜线图等;分布就是绘制概率与统计中的分布图,包括离散型的直方图和连续型的概率密度分布图等。后面还有变量的时序变化图和类别图等常见的可视化制图类别。


配置
在绘制这 50 种可视化图之前,我们需要配置一下依赖项以及通用设定,当然后面有一些独立的美图会修改通用设定。如果读者看中了某种可视化图,那么用这些配置再加上对应的可视化代码就能嵌入到我们自己的项目中。
如下所示 pandas 与 numpy 主要用于读取和处理数据,matplotlib 与 seaborn 主要用于可视化数据。其中 seaborn 其实是 matplotlib 上的一个高级 API 封装,在大多数情况下使用 seaborn 就能做出很有吸引力的图,而使用 matplotlib 能制作更具特色的图。
# !pip install brewer2mpl
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import warnings; warnings.filterwarnings(action='once')
large = 22; med = 16; small = 12
params = {'axes.titlesize': large,
'legend.fontsize': med,
'figure.figsize': (16, 10),
'axes.labelsize': med,
'axes.titlesize': med,
'xtick.labelsize': med,
'ytick.labelsize': med,
'figure.titlesize': large}
plt.rcParams.update(params)
plt.style.use('seaborn-whitegrid')
sns.set_style("white")
%matplotlib inline
# Version
print(mpl.__version__) #> 3.0.0
print(sns.__version__) #> 0.9.0
制图示意
前面列出了 7 大类共 50 种不同的可视化图,但我们无法一一介绍,因此我们从协相关性、偏差、分布、时序变化和群组图中各选择了一个示例,它们能展示不同数据在不同情况下的可视化需求。
1. 相关图(Correllogram)


