数据可视化实例(十): 相关图(matplotlib,pandas)
相关图
https://datawhalechina.github.io/pms50/#/chapter8/chapter8
导入所需要的库
import numpy as np # 导入numpy库
import pandas as pd # 导入pandas库
import matplotlib as mpl # 导入matplotlib库
import matplotlib.pyplot as plt
import seaborn as sns # 导入seaborn库
%matplotlib inline # 在jupyter notebook显示图像
设定图像各种属性
large = 22; med = 16; small = 12
params = {'axes.titlesize': large, # 设置子图上的标题字体
'legend.fontsize': med, # 设置图例的字体
'figure.figsize': (16, 10), # 设置图像的画布
'axes.labelsize': med, # 设置标签的字体
'xtick.labelsize': med, # 设置x轴上的标尺的字体
'ytick.labelsize': med, # 设置整个画布的标题字体
'figure.titlesize': large}
plt.rcParams.update(params) # 更新默认属性
plt.style.use('seaborn-whitegrid') # 设定整体风格
sns.set_style("white") # 设定整体背景风格
程序代码
# step1:导入数据
df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv")
# step2:绘制热力图
# 画布
plt.figure(figsize = (12, 10), # 画布尺寸
dpi = 80) # 分辨率
#热力图
sns.heatmap(df.corr(), # 相关性矩阵数据集
xticklabels = df.corr().columns, # 横轴标签
yticklabels = df.corr().columns, # 纵轴标签
cmap = 'RdYlGn', # 色谱(调色板)
center = 0, # 将数据设置为图例中的均值数据,即图例中心的数据值
annot = True) # annot默认为False,当annot为True时,在heatmap中每个方格写入数据
# step3:图像装饰
# 设置标题和字体
plt.title('Correlogram of mtcars' # 设置标题
, fontsize = 22) # 设置标题的尺寸
plt.xticks(fontsize = 12) # 设置横坐标标尺字体尺寸
plt.yticks(fontsize = 12) # 设置横坐标标尺字体尺寸
plt.show()
博文总结
DataFrame.corr(method='pearson', min_periods=1)
参数说明:
method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性 数据便会有误差。
kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
spearman:非线性的,非正太分析的数据的相关系数
min_periods:样本最少的数据量
返回值:各类型之间的相关系数DataFrame表格。
seaborn.heatmap
https://www.cntofu.com/book/172/docs/30.md
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None,
center=None, robust=False, annot=None, fmt='.2g', annot_kws=None,
linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False,
xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)
将矩形数据绘制为颜色编码矩阵。
这是一个坐标轴级的函数,如果没有提供给ax参数,它会将热力图绘制到当前活动的轴中。除非cbar为False或为cbar_ax提供单独的Axes,否则将使用此轴空间的一部分绘制颜色图。
参数:data:矩形数据集
可以强制转换为ndarray格式数据的2维数据集。如果提供了Pandas DataFrame数据,索引/列信息将用于标记列和行。
vmin, vmax:浮点型数据,可选参数。
用于锚定色彩映射的值,否则它们是从数据和其他关键字参数推断出来的。
cmap:matplotlib 颜色条名称或者对象,或者是颜色列表,可选参数。
从数据值到颜色空间的映射。 如果没有提供,默认值将取决于是否设置了“center”。
center:浮点数,可选参数。
绘制有色数据时将色彩映射居中的值。 如果没有指定,则使用此参数将更改默认的
cmap。
robust:布尔值,可选参数。
如果是True,并且
vmin或vmax为空,则使用稳健分位数而不是极值来计算色彩映射范围。
annot:布尔值或者矩形数据,可选参数。
如果为True,则在每个热力图单元格中写入数据值。 如果数组的形状与
data相同,则使用它来代替原始数据注释热力图。
fmt:字符串,可选参数。
添加注释时要使用的字符串格式代码。
annot_kws:字典或者键值对,可选参数。
当
annot为True时,ax.text的关键字参数。
linewidths:浮点数,可选参数。
划分每个单元格的行的宽度。
linecolor:颜色,可选参数
划分每个单元的线条的颜色。
cbar:布尔值,可选参数。
描述是否绘制颜色条。
cbar_kws:字典或者键值对,可选参数。
fig.colorbar的关键字参数。
cbar_ax:matplotlib Axes,可选参数。
用于绘制颜色条的轴,否则从主轴获取。
square:布尔值,可选参数。
如果为True,则将坐标轴方向设置为“equal”,以使每个单元格为方形。
xticklabels, yticklabels:“auto”,布尔值,类列表值,或者整形数值,可选参数。
如果为True,则绘制数据框的列名称。如果为False,则不绘制列名称。如果是列表,则将这些替代标签绘制为xticklabels。如果是整数,则使用列名称,但仅绘制每个n标签。如果是“auto”,将尝试密集绘制不重叠的标签。
mask:布尔数组或者DataFrame数据,可选参数。
如果为空值,数据将不会显示在
mask为True的单元格中。 具有缺失值的单元格将自动被屏蔽。
ax:matplotlib Axes,可选参数。
绘制图的坐标轴,否则使用当前活动的坐标轴。
kwargs:其他关键字参数。
所有其他关键字参数都传递给
ax.pcolormesh。
返回值:ax:matplotlib Axes
数据可视化实例(十): 相关图(matplotlib,pandas)的更多相关文章
- 【Matplotlib】数据可视化实例分析
数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- 数据可视化利器pyechart和matplotlib比较
python中用作数据可视化的工具有多种,其中matplotlib最为基础.故在工具选择上,图形美观之外,操作方便即上乘. 本文着重说明常见图表用基础版matplotlib和改良版pyecharts作 ...
- 数据可视化(一)-Matplotlib简易入门
本节的内容来源:https://www.dataquest.io/mission/10/plotting-basics 本节的数据来源:https://archive.ics.uci.edu/ml/d ...
- 数据可视化:绘图库-Matplotlib
为什么要绘图? 一个图表数据的直观分析,下面先看一组北京和上海上午十一点到十二点的气温变化数据: 数据: 这里我用一段代码生成北京和上海的一个小时内每分钟的温度如下: import random co ...
- 数据可视化实例(十四):带标记的发散型棒棒糖图 (matplotlib,pandas)
偏差 (Deviation) 带标记的发散型棒棒糖图 (Diverging Lollipop Chart with Markers) 带标记的棒棒糖图通过强调您想要引起注意的任何重要数据点并在图表中适 ...
- 数据可视化实例(十二): 发散型条形图 (matplotlib,pandas)
https://datawhalechina.github.io/pms50/#/chapter10/chapter10 如果您想根据单个指标查看项目的变化情况,并可视化此差异的顺序和数量,那么散型条 ...
- 数据可视化实例(十六):有序条形图(matplotlib,pandas)
排序 (Ranking) 棒棒糖图 (Lollipop Chart) 棒棒糖图表以一种视觉上令人愉悦的方式提供与有序条形图类似的目的. https://datawhalechina.github.io ...
- 数据可视化实例(十五):有序条形图(matplotlib,pandas)
偏差 (Deviation) 有序条形图 (Ordered Bar Chart) 有序条形图有效地传达了项目的排名顺序. 但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息. https ...
随机推荐
- update语句基本用法
UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=;
- CentOS Linux release 7.7.1908 (Core)--rabbitmq用户创建以及相关防火墙端口开启问题
增加访问用户,默认用户guest只能本地访问. #添加用户 rabbitmqctl add_user 账号 密码 rabbitmqctl add_user admin admin #分配用户标签(ad ...
- python基础--程序交互、格式化输出、流程控制、break、continue
在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 (1) 程序交互 #!/usr/bin/env python # -*- coding: ...
- 测试必备工具之最强抓包神器 Charles,你会了么?
前言 作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷:比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景 ...
- Windows 程序设计(4) MFC-01前置知识
1. Windows编程简介 1.0 开发环境 操作系统 Win10 IDE: VS2017 1.1 Windows程序简介 Windows程序呢也主要分那么几种,例如:exe的可执行程序,dll的动 ...
- 006.OpenShift持久性存储
一 持久存储 1.1 持久存储概述 默认情况下,运行容器使用容器内的临时存储.Pods由一个或多个容器组成,这些容器一起部署,共享相同的存储和其他资源,可以在任何时候创建.启动.停止或销毁.使用临时存 ...
- Elasticsearch、Solr、Lucene、Hermes区别
Elasticsearch简介 Elasticsearch是一个实时分布式搜索和分析引擎.它让你以前所未有的速度处理大数据成为可能.它用于全文搜索.结构化搜索.分析以及将这三者混合使用:维基百科使用E ...
- 在maven项目中使用Junit进行单元测试(一)
https://blog.csdn.net/ai_xue_xi/article/details/51819729 这篇文章相当的经典,最好使用的maven生成单元测试报告,不要在使用ant脚本生成单元 ...
- 动力节点 mysql 郭鑫 34道经典的面试题二
13.有3个表S(学生表),C(课程表),SC(学生选课表) S(SNO,SNAME)代表(学号,姓名) C(CNO,CNAME,CTEACHER)代表(课号,课名,教师) SC(SNO,CNO,SC ...
- Python3-算法-递归
递归 递归算法是指一般通过函数或子进程来实现,在函数或子进程的内部,直接或间接地调用自己的算法,说白了就是自己调自己 注: 1.在使用递归的时候,必须要有一个递归出口,即一个明确的结束条件,否则就是死 ...