如何在 Seaborn 中为直方图添加轮廓或边缘颜色?


虽然 Seaborn 使创建各种样式和选项的直方图变得很容易,但默认情况下,直方图没有轮廓或边缘颜色。添加轮廓或边缘颜色可以帮助使图表更具视觉吸引力和易于理解。在本文中,我们将探讨如何使用几个简单的步骤在 Seaborn 中为直方图添加轮廓或边缘颜色。我们还将讨论一些可用的自定义选项,以帮助创建适合您特定需求的直方图。

什么是直方图?

直方图用于显示一个或多个数值变量的分布情况。Seaborn 帮助我们绘制直方图条形和密度曲线,其绘制方式与 kdeplots 相同。准确地说,直方图是图形工具,用于显示一组连续数据的分布情况。

Seaborn 中的 histplot 函数用于创建直方图。该函数可以使用默认值调用,这些值已经可以生成一个漂亮的图表。我们还可以操作“bins”参数来更改箱数。事实上,在幕后可能隐藏着一种模式,而使用默认的箱数值则无法发现。

在本文中,我们将为直方图添加轮廓或边缘颜色。这可以通过使用 seaborn 中的函数来完成,即 seaborn.distplot() 方法/函数。

Seaborn

Seaborn 是一个用于基于统计数据创建图形的 Python 库。它构建在 matplotlib 之上,并且与 Pandas 数据结构配合良好。

Seaborn 帮助您查看数据并找出其含义。它的绘图函数作用于包含整个数据集的数据帧和数组,并执行所需的语义映射和统计聚合,以生成有用的图表。它的声明式 API 基于数据集,因此您可以专注于图表的不同部分的含义,而不是如何绘制它们。

Seaborn 旨在使数据可视化成为查看和理解数据的主要方法。它为我们提供了专注于数据集的 API,因此我们可以切换不同的查看相同变量的方式,以更好地理解数据集。

我们将在本文中使用 seaborn.distplot() 方法。让我们详细讨论 seaborn.distplot() 方法的语法。

seaborn.distplot()

Distplot,也称为分布图,显示了数据的分布情况。Seaborn Distplot 显示了连续数据变量的分布情况。

在 Seaborn 模块和 Matplotlib 模块的帮助下,Distplot 以不同的方式显示。Distplot 结合使用直方图和线条来显示数据。

语法

sns.distplot(aSeries)

Seaborn 通常在 sns 别名下导入。

这里,aseries、列表或一维数组是观察到的数据。如果这是一个具有名称属性的 Series 对象,则数据轴的标签将是名称。

参数

序号

参数及其值

定义

1

bins:matplotlib hist() 的参数,无,可选

直方图箱规格

2

hist:布尔值,可选

用于指定是否绘制归一化直方图。

3

Kde:布尔值,可选

用于指示是否绘制高斯核密度估计。

4

rug:布尔值,可选

用于指定是否在支持轴上绘制地毯图。

5

fit:对象,可选

具有 fit 方法的对象,该方法返回一个元组,该元组可以作为位置参数传递给 pdf 方法,以在值的网格上评估 pdf。

6

color:颜色,可选

除拟合曲线之外的所有内容都应着色。

7

vertical:布尔值,可选

如果参数值为真,则观察值位于 y 轴上。

8

norm_hist:布尔值,可选

如果为 True,则直方图高度显示项目数量,而不是项目存在数量。如果显示了 KDE 或拟合密度,则这一点很明显。

9

label:字符串,可选

使用图例标记图表的关键部分。

10

ax:轴,可选

如果为此参数提供了值,则在提供的轴上绘图。

在 Seaborn 中为直方图添加轮廓或边缘颜色的程序

在此程序中,我们将使用来自 vega_datasets 的西雅图天气数据来构建直方图。

示例

import seaborn as sns 
import matplotlib.pyplot as plt
import numpy as npp
import pandas as pdd
from vega_datasets import data
sw= data.seattle_weather()
sns.distplot(sw['temp_max'], hist_kws=dict(edgecolor="purple", linewidth=4))
plt.title('Weather data', fontsize=14)
plt.xlabel('tempature_max', fontsize=14)
plt.ylabel('Density', fontsize=14)

输出


在此程序中,我们将使用来自 vega_datasets 的西雅图天气数据来构建直方图。

示例

import seaborn as sns 

import matplotlib.pyplot as pltt
import pandas as pdd
import numpy as npp
from vega_datasets import data
sw= data.la_riots()
sns.distplot(sw['age'],
             hist_kws={'color':'pink', 'edgecolor':'green',
                       'linewidth':2, 'linestyle':'--'})
pltt.title('Sample data', fontsize=14)
pltt.xlabel('age', fontsize=14)

输出


结论

在本文中,我们了解到直方图描述了连续数据的分布情况,它是一种可视化工具,属于 seaborn 库。Seaborn 是一个 Python 库,它用于使用 seaborn.distplot() 方法构建直方图。我们还使用 seaborn.distplot() 方法中的特定参数构建了一个具有轮廓或边缘颜色的直方图。我们使用了两个不同的数据集(西雅图天气数据集和 la_riots)来构建直方图。

更新于:2023年5月31日

614 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.