如何在 Seaborn 中为直方图添加轮廓或边缘颜色?
虽然 Seaborn 可以轻松创建具有各种样式和选项的直方图,但默认情况下,直方图没有轮廓或边缘颜色。添加轮廓或边缘颜色可以帮助使图表更具视觉吸引力,更易于解释。在本文中,我们将探讨如何使用几个简单的步骤在 Seaborn 中为直方图添加轮廓或边缘颜色。我们还将讨论一些可用的自定义选项,以帮助创建适合您特定需求的直方图。
什么是直方图?
直方图用于显示一个或多个数值变量的分布方式。Seaborn 帮助我们绘制直方图条形图和密度曲线,其制作方式与 kdeplots 相同。确切地说,直方图是一种图形工具,可以显示一组连续数据的分布情况。
Seaborn 中的 histplot 函数用于制作直方图。可以使用默认值调用该函数,这样已经可以制作出漂亮的图表了。我们还可以操纵"bins"参数来更改 bin 的数量。事实上,在默认 bin 值下,可能隐藏着一种模式,而你无法找到这种模式。
在本文中,我们将为直方图添加轮廓或边缘颜色。这可以使用 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、列表或一维数组是观察到的数据。如果这是具有 name 属性的 Series 对象,则数据轴的标签将是名称。
参数
S.No |
参数及其值 |
定义 |
---|---|---|
1 |
bins: argument for matplotlib hist(),none, optional |
Hist bin specifications |
2 |
hist: bool, optional |
它用于指定是否必须绘制规范直方图。 |
3 |
Kde: bool, optional |
用于指示是否绘制高斯核密度估计 |
4 |
rug: bool, optional |
用于指定是否在支撑轴上绘制地毯图。 |
5 |
fit: object, optional |
具有 fit 方法的对象,该方法返回一个元组,该元组可以作为位置参数传递给 pdf 方法,以在值网格上评估 pdf。 |
6 |
color: color, optional |
除拟合曲线外,所有内容都应着色。 |
7 |
vertical: bool, optional |
如果参数的值为真,则观察到的值位于 y 轴上。 |
8 |
norm_hist: bool, optional |
如果为 True,则直方图高度显示的是项目数,而不是项目数量。如果显示 KDE 或拟合密度,则这一点很明显。 |
9 |
label: string, optional |
用图例标记情节的重要部分。 |
10 |
ax: axis, optional |
如果提供了此参数的值,则在提供的轴上绘制。 |
在 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)来构建直方图。