一文玩转Seaborn热力图中调色板设置

2024-04-20 03:20

本文主要是介绍一文玩转Seaborn热力图中调色板设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.引言

在前文中我们介绍了如何利用Seaborn绘制热力图,并详细介绍了各种热力图中的控制条件。本文重点介绍如何控制绘制热力图中的调色板。

闲话少说,我们直接开始吧!

2.举个栗子

我们首先来看个上一节的栗子,代码如下:

import numpy as np
import seaborn as sb
import matplotlib.pyplot as plt
​
data = np.random.rand(4, 6)
heat_map = sb.heatmap(data, cmap="YlGnBu")
plt.show()

运行后结果如下:
在这里插入图片描述

观察上述代码,其中cmap="YlGnBu", 表示以下调色板:

在这里插入图片描述
事实上,在Seaborn库中,一共有三类调色板,顺序调色板,发散调色板以及调色函数控制;接下来我们针对上述三种方式进行讲解。

3.顺序调色板

当要展示的数据的范围从低到高时,可以使用sequential color map顺序调色板。顺序调色板的颜色码可以与函数heatmap()或函数kdeplot()一起使用。

顺序调色板的颜色码总结如下:
在这里插入图片描述

此外,除了上述调色板之外,还可以使用cubehelix调色方案,它使用cubehelix算法生成一系列颜色,用于在数据可视化中表示连续变量的顺序变化。Cubehelix 是由 Green 于 2005 年提出的一种颜色映射方法,它在色相、亮度和饱和度三个维度上提供平滑的渐变,非常适合用于展示数据的顺序变化。该调色板如下所示:

在这里插入图片描述

我们开看个具体栗子,代码如下:

heat_map = sb.heatmap(data, cmap="cubehelix")
plt.show()

运行后结果如下:
在这里插入图片描述

4.发散调色板

发散调色板Diverging color palette是一种在数据可视化中用来表示两个极端值之间变化的颜色方案。这种色板通常调色板的两侧选择两种对比色,然后在两者之间通过一系列渐变色来表示中间值。

发散调色板非常适合用来展示具有两个显著不同极端的数据,如温度变化、正负差异、数据的偏差等。

我们通过以下代码,来观察该调色板的具体颜色调色方案,如下:

import seaborn as sb
import matplotlib.pyplot as plt
sb.palplot(sb.diverging_palette(200, 0, n=11))
plt.show()

这里,200是调色板左侧的值,0是调色板右侧的值。变量n定义了颜色块的数量。在我们的例子中,该值为11。运行上述代码后,得到结果如下所示:
在这里插入图片描述

我们在针对该调色方案举个例子,代码如下:

mycolor=sb.diverging_palette(200,0,n=11)
data=np.array([[0,  25,  50,  75, 100, 125],[25, 50,  75, 100, 125, 150],[50, 75, 100, 125, 150, 175],[75,100, 125, 150, 175, 200]]
)
heatmap=sb.heatmap(data,cmap=mycolor)
plt.show()

运行后结果如下:
在这里插入图片描述

5.调色函数控制

Pythonmatplotlib库中,mpl_palette是一个用于生成和操作颜色的模块。它允许用户创建和修改颜色映射,这些颜色映射可以用于图表、图像和其他可视化元素中。

matplotlib提供了许多预定义的颜色映射,举例如下:

  • viridis:一种蓝绿色渐变的调色板
  • plasma: 一种从橙色到黄色再到紫色的渐变调色板
  • inferno:一种从黄色到红色再到黑色的渐变调色板
  • magma:一种从蓝色到红色的渐变调色板
  • cividis:一种从蓝色渐变到绿色再到黄色

我们来看个几个栗子,如下:

import seaborn as sb
import matplotlib.pyplot as plt
sb.mpl_palette("viridis")
plt.show()

运行后结果如下:
在这里插入图片描述

sb.mpl_palette("viridis", 8)
plt.show()

运行后结果如下:
在这里插入图片描述

sns.mpl_palette("Set2", 10)
plt.show()

运行后结果如下:
在这里插入图片描述

6.总结

本文重点介绍了在Seaborn库中调整绘制热力图控制调色板的三种方法,并给出了相应的介绍。使用这些方法可以可以游刃有余的来控制绘制图像的颜色。

您学废了嘛!

这篇关于一文玩转Seaborn热力图中调色板设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/919174

相关文章

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam