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

相关文章

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL