当前位置: 首页 > news >正文

新乡建网站个体工商户做网站

新乡建网站,个体工商户做网站,知名网站建设加盟合作,一家专门做特卖的网站热力图(Heatmap)是一种通过颜色深浅来展示数据分布、密度和强度等信息的可视化图表。它通过对色块着色来反映数据特征,使用户能够直观地理解数据模式,发现规律,并作出决策。 目录 基本原理 sns.heatmap 代码实现 基…

 热力图(Heatmap)是一种通过颜色深浅来展示数据分布、密度和强度等信息的可视化图表。它通过对色块着色来反映数据特征,使用户能够直观地理解数据模式,发现规律,并作出决策。

目录

基本原理

sns.heatmap

代码实现


基本原理

热力图本质上是一个数值矩阵,图上每一个色块都代表一个数值。通过离散数值、权重算法与分析模型等技术手段,将用户行为频度或数据密度以色块的形式展现出来。在设计时,需要指定颜色映射的规则,例如较大的值可以由较深的颜色或偏暖的颜色表示,而较小的值则由较浅的颜色或较冷的颜色表示。

两个变量之间相关系数的计算公式为:

$\mathrm{p}_{\mathrm{X}_1\mathrm{X}_2}=\frac{\mathrm{Cov}(\mathrm{X}_1,\mathrm{X}_2)}{\sqrt{\mathrm{DX}_1,\mathrm{DX}_2}}=\frac{\mathrm{EX}_1\mathrm{X}_2-\mathrm{EX}_1*\mathrm{EX}_2}{\sqrt{\mathrm{DX}_1*\mathrm{DX}_2}}$

ρ表示相关系数,Cov表示协方差,E表示数学期望/均值。值得注意的是,该相关系数主要用以量化变量之间的线性关联强度;具体而言,当相关系数较高时,它指示了变量间存在较强的线性相关性。然而,对于相关系数较低的两个变量而言,这仅仅表明它们之间的线性相关程度较弱,而并非意味着这两个变量之间完全不存在其他类型的关联,如非线性(如曲线)关系或其他复杂的相关性。因此,在解释相关系数时需谨慎,避免过度简化或误读变量间的关系。

sns.heatmap

sns.heatmap 是 Seaborn 库中的一个非常有用的函数,用于绘制热力图(Heatmap)。热力图是一种通过颜色深浅来表示数据大小的图形,常用于展示矩阵或表格数据的分布和关系。在数据可视化中,热力图尤其适合展示变量之间的相关性、数据的聚类情况或数据的密度分布等。

sns.heatmap涉及到一些主要的参数:

  • vmin, vmax:这两个参数用于设置热力图中颜色映射的最小值和最大值,可以调整颜色映射的范围以更好地展示数据。
  • cmap:指定颜色映射表(colormap),用于控制热力图中颜色的分布和变化。
  • annot:如果设置为True,则在每个单元格中显示数据值。也可以是一个形状与数据相同的数组,用于自定义注释内容。
  • fmt:当annot为True时,用于设置注释的格式化字符串。
  • linewidths:设置热力图单元格之间的线条宽度。
  • linecolor:设置热力图单元格之间线条的颜色。
  • cbar:是否显示颜色条。
  • square:如果为True,则强制热力图的每个单元格都是正方形的。
  • mask:一个布尔数组或DataFrame,用于指定哪些单元格应该被屏蔽(不显示)。这对于绘制下三角或上三角矩阵特别有用。

代码实现

# 生成一个3x3的随机数组
values = np.random.rand(3, 3)
# 设置x轴标签
x_ticks = ['x-1', 'x-2', 'x-3']
# 设置y轴标签
y_ticks = ['y-1', 'y-2', 'y-3'] 
# 使用seaborn库绘制热图,并设置x轴和y轴标签
ax = sns.heatmap(values, xticklabels=x_ticks, yticklabels=y_ticks)
# 设置图表标题
ax.set_title('3x3 Heatmap') 
# 设置x轴标签
ax.set_xlabel('x label')  
# 设置y轴标签
ax.set_ylabel('y label')
# 显示图表
plt.show()

uniform_data = np.random.rand(10, 12) 
ax = sns.heatmap(uniform_data)

通过annot参数设置可以在小方格中显示数值

# 生成一个10行12列的随机数矩阵
uniform_data = np.random.rand(10, 12)
# 使用seaborn库中的heatmap函数绘制热力图,annot参数设置为True表示在热力图上显示数据值
ax = sns.heatmap(uniform_data, annot=True)

可以创建一个与相关系数矩阵相同大小的布尔矩阵,用于遮罩,实现更加简化美观的效果。

布尔矩阵(Boolean Matrix)是数学中的一个重要概念,它指的是元素只取0或1的矩阵,因此也被称为0-1矩阵。布尔矩阵在计算机科学、编码理论、网络理论等领域有着广泛的应用。在数学上,布尔矩阵通常使用大写字母(如A, B, C等)表示,矩阵中的元素使用小写字母加下标(如a_ij)表示,其中i表示行号,j表示列号。

# 导入ascii_letters模块
from string import ascii_letters
# 设置seaborn的样式为white
sns.set(style="white")
# 创建一个随机数生成器
rs = np.random.RandomState(33)
# 创建一个100行26列的DataFrame,数据为正态分布随机数
d = pd.DataFrame(data=rs.normal(size=(100, 26)),columns=list(ascii_letters[26:]))
# 计算DataFrame的相关系数矩阵
corr = d.corr()
# 创建一个与相关系数矩阵相同大小的布尔矩阵,用于遮罩
mask = np.zeros_like(corr, dtype=bool)
# 将上三角矩阵的元素设置为True
mask[np.triu_indices_from(mask)] = True
# 创建一个11x9的子图
f, ax = plt.subplots(figsize=(11, 9))
# 创建一个颜色映射
cmap = sns.diverging_palette(220, 10, as_cmap=True)
# 绘制热力图,使用遮罩,颜色映射,最大值为0.3,中心值为0,方格,边框宽度为0.5,颜色条缩小为0.5
sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0,square=True, linewidths=.5, cbar_kws={"shrink": .5})

http://www.dtcms.com/a/578151.html

相关文章:

  • C# 分部类实现计算器功能
  • 怎样建设个人网站广告赚钱彩票投资理财平台网站建设
  • 代码编辑器
  • C# 中,0.1 在什么情况下不等于 0.1 ?
  • 哪块行业需要网站建设揭阳企业建站系统
  • 目前主流网站开发所用软件建筑工程公司起名
  • 【stm32协议外设篇】- NEO-6M GPS 模块
  • 内网网站开发费用泰安网签查询2023
  • 微算法科技(NASDAQ MLGO)采用动态层次管理和位置聚类技术,修改pBFT算法以提高私有区块链网络运行效率
  • 潍坊网络建站模板wordpress 指定页面nofollow
  • 从Hive on YARN到Hive on Spark
  • 创作写作-李劭卓
  • 论文分享 |Spark-TTS:用解耦语音令牌实现高效可控的语音合成
  • Spark 文本分类实战经验总结
  • 英伟达体系内关于 DGX Spark 的讨论观点整理
  • 模版型网站a站为什么会凉
  • 强软弱虚四种引用
  • [Esterel大师课] Gérard Berry:使用Esterel v7进行同步多时钟电路设计(2013)
  • 有什么学做木工的网站吗WordPress添加下载弹窗
  • 目标检测模型SSD详解与实现
  • 网站弹窗广告代码企业官方网站的作用
  • 网站建设排行山西省确诊病例最新情况
  • 线程池浅谈
  • KubeSphere在线安装单节点K8S集群
  • 北京安慧桥网站建设口碑好的家装前十强
  • 著名建筑网站正规的教育机构有哪些
  • Linux - Vault
  • VSCode+Cline部署本地爬虫fetch-mcp实战
  • 使用python-pandas-openpyxl编写运营查询小工具
  • Label Studio 安装与简单使用指南