46_Pandas,Python,Seaborn热图的生成
46_Pandas,Python,Seaborn热图的生成
Python 的可视化库 seaborn 可以轻松创建可视化 2D 数据的热图。
使用 seaborn.heatmap() 函数。
Pandas 不是必须的,但是如果使用pandas.DataFrame 作为2D 数据,行列名会显示为x 轴和y 轴标签,很方便。
这里,将描述以下内容。
- seaborn.heatmap()函数的基本用法
- 作为对象操作
- seaborn.heatmap() 函数的主要参数
- 显示编号:annot
- 显示/隐藏颜色条:cbar
- 显示为正方形:square
- 指定最大值、最小值、中位数:vmax、vmin、center
- 指定颜色(颜色图):cmap
- 指定尺寸
导入以下库。
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
seaborn.heatmap()函数的基本用法
在seaborn.heatmap()的第一个参数data中指定要可视化的二维数组。
可以指定 Python 列表、numpy.ndarray 和 pandas.DataFrame 的二维数组。
对于 Python 列表的二维数组(列表列表)。
list_2d = [[0, 1, 2], [3, 4, 5]]sns.heatmap(list_2d)
使用plt.savefig()保存为图像文件,plt.show()使用OS图像显示程序显示而不是保存文件。
创建重复图时注意,除非用plt.figure()生成新图或用plt.clf()初始化,否则之前的绘制结果可能会保留。
此外,如果生成多个数字(默认为 20 或更多),则会发出警告。在plt.savefig()或者plt.show()之后执行plt.close(‘all’)就可以了。
plt.figure()
sns.heatmap(list_2d)
plt.savefig('./data/46/seaborn_heatmap_list.png')
plt.close('all')
对于 numpy.ndarray。
arr_2d = np.arange(-8, 8).reshape((4, 4))
print(arr_2d)
# [[-8 -7 -6 -5]
# [-4 -3 -2 -1]
# [ 0 1 2 3]
# [ 4 5 6 7]]plt.figure()
sns.heatmap(arr_2d)
plt.savefig('./data/46/seaborn_heatmap_ndarray.png')
对于 pandas.DataFrame。在 pandas.DataFrame 中,行名索引和列名列显示为 x 轴 / y 轴标签。
df = pd.DataFrame(data=arr_2d, index=['a', 'b', 'c', 'd'], columns=['A', 'B', 'C', 'D'])
print(df)
# A B C D
# a -8 -7 -6 -5
# b -4 -3 -2 -1
# c 0 1 2 3
# d 4 5 6 7plt.figure()
sns.heatmap(df)
plt.savefig('./data/46/seaborn_heatmap_dataframe.png')
作为对象操作
seaborn.heatmap() 返回一个 Matplotlib AxesSubplot 对象。
print(type(sns.heatmap(list_2d)))
# <class 'matplotlib.axes._subplots.AxesSubplot'>
默认情况下,它在活动子图中绘制,但您可以使用 seaborn.heatmap() 的参数 ax 指定任何子图并绘制它。
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
sns.heatmap(list_2d, ax=ax)
fig.savefig('./data/46/seaborn_heatmap_list.png')
fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(8, 6))
sns.heatmap(list_2d, ax=axes[0, 0])
sns.heatmap(arr_2d, ax=axes[1, 2])
fig.savefig('./data/46/seaborn_heatmap_list_sub.png')
seaborn.heatmap() 函数的主要参数
显示编号:annot
设置 annot = True 以在热图上显示值。
sns.heatmap(df, annot=True)
显示/隐藏颜色条:cbar
设置 cbar = False 以隐藏颜色条。
sns.heatmap(df, cbar=False)
显示为正方形:square
如果 square = True,则热图将绘制为正方形。
sns.heatmap(df, square=True)
指定最大值、最小值、中位数:vmax、vmin、center
热图的最大值、最小值和中值分别由 vmax、vmin 和 center 指定。
sns.heatmap(df, vmax=10, vmin=-10, center=0)
指定颜色(颜色图):cmap
颜色由 cmap 指定。您可以按原样使用可与 Matplotlib 一起使用的颜色图。
sns.heatmap(df, cmap='hot')
将 _r 添加到颜色图字符串会颠倒颜色的顺序。
sns.heatmap(df, cmap='Blues')
sns.heatmap(df, cmap='Blues_r')
指定尺寸
生成图像的大小由figsize(单位:英寸)和dpi(每英寸点数)决定。
figsize由plt.figure()或plt.subplots()的参数指定,dpi由savefig()的参数指定。
每个都可以按如下方式确认和更改。
current_figsize = mpl.rcParams['figure.figsize']
print(current_figsize)
# [6.0, 4.0]plt.figure(figsize=(9, 6))
sns.heatmap(df, square=True)
plt.savefig('./data/46/seaborn_heatmap_big.png')
current_dpi = mpl.rcParams['figure.dpi']
print(current_dpi)
# 72.0plt.figure()
sns.heatmap(df, square=True)
plt.savefig('./data/46/seaborn_heatmap_big_2.png', dpi=current_dpi * 1.5)
46_Pandas,Python,Seaborn热图的生成相关推荐
- python seaborn 热图 值对应颜色_Python数据分析之Seaborn(热图绘制)
Seaborn热图绘制 %matplotlib inlineimport matplotlib.pyplot as pltimport numpy as np;np.random.seed(0)imp ...
- python seaborn 热图_python – 在seaborn中结合两张热图
在图中并排显示两个seaborn热图的一种可能方式是将它们绘制成单独的子图.可以将子图之间的空间设置为非常小(wspace = 0.01),并将相应的颜色条和标记标记定位在该间隙之外. import ...
- python seaborn 热图_Python-Seaborn热图绘制的实现方法
制图环境: pycharm python-3.6 Seaborn-0.8 热图 import numpy as np import seaborn as sns import matplotlib.p ...
- python seaborn 热图 值对应颜色_基于行值的seaborn热图配色方案
我有一个数据帧,部分是这样复制的:import pandas as pd import numpy as np tab = pd.DataFrame(np.array([[ 46, 39, 25, 2 ...
- python seaborn 热图 值对应颜色_Python基于seaborn绘制喜欢的热力图,不同色系一览...
基于seaborn模块来对数据之间的相关性进行可视化展示已经是司空见惯的事情了,在我之前的文章里面也有相关的实现和介绍,这里主要就是对seaborn提供的所有色系来进行对比,提供一组数据跑出来的样例图 ...
- python绘制热图
Python可以使用多种方法绘制热图,其中一种常用的方法是使用Matplotlib库. 首先,需要安装Matplotlib: pipinstall matplotlib 然后,可以使用以下代码绘制热图 ...
- python绘制热图_python使用matplotlib绘制热图
python常用的绘图库就是matplotlib,今天在给公司绘图时,偶然间发现matplotlib可以绘制热图,并且十分简洁,拿出来跟大家分享一下.(由于涉及到公司数据问题,这里采用随机数生成数据进 ...
- Python 绘制热图
1.matplitlib绘制热图 1 import random 2 from matplotlib import pyplot as plt 3 from matplotlib import cm ...
- python制作热图folium_Python Folium包可以在热图上绘制标记吗?
我已经在地图上添加了一个热图,它可以正常工作. 使用另一个数据集,我希望能够在热图上绘制标记. 有可能这样做吗?我读过一些关于图层的文章,但我不确定我会怎么做.在 目前我的代码:df = pd.rea ...
最新文章
- win7分区c盘调整容量_如何扩大C盘空间 增加C盘容量方法有哪些【详细介绍】
- 设计模式学习笔记--解释器模式
- leetcode 417. Pacific Atlantic Water Flow | 417. 太平洋大西洋水流问题(DFS,经典“感染”思路)
- Linux实验室阿里云证书,开发者云体验实验室
- VMweare 安装 Kali Linux 系统
- Bootstrap3 静态模态对话框
- 员工需签军令状放弃年终奖?传小米推出特殊激励计划 官方回应...
- VK Cup 2018 Round 2: B. Three-level Laser(二分)
- 8.Linux/Unix 系统编程手册(上) -- 用户和组
- java拦截器_Java拦截器实现
- 画直线的算法之DDA算法+代码实现(法一)
- 解决一例Fedora 31安装NVIDIA官方驱动程序无法使用DKMS注册的问题
- python程序格式框架的描述错误的是_关于 Python 程序格式框架的描述,以下选项中错误的是( )...
- 慕课编译原理(第十章.构造优先关系表)
- UVa 1586 Molar mass(模拟)
- web前端开发主要做什么?应该学些什么?
- 料:泡好的大米15克
- Mandriva 2009 Spring PWP中3D桌面的使用
- ubuntu 19.04 与win10双系统 搜狗输入法安装教程
- Vrep/CoppeliaSim:安装及相关资料