一文玩转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

相关文章

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(