如何在 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)来构建直方图。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP