Seaborn 如何为直方图添加轮廓或边缘颜色
尽管Seaborn使创建具有多种样式和选项的直方图变得容易,但默认情况下,直方图没有轮廓或边缘颜色。添加轮廓或边缘颜色可以使图表更具视觉吸引力和易于解释。在本文中,我们将探讨如何使用几个简单的步骤在Seaborn中为直方图添加轮廓或边缘颜色。我们还将讨论一些定制选项,以帮助创建适合您特定需求的直方图。
什么是直方图
直方图用于显示一个或多个数值变量的分布情况。Seaborn帮助我们绘制直方图条和密度曲线,其制作方式与kdeplots相同。准确地说,直方图是显示连续数据集如何分布的图形工具。
Seaborn中的histplot函数用于制作直方图。该函数可以使用默认值调用,这样就可以制作出一个令人愉悦的图表。我们还可以操作“bins”参数以更改柱状图的数量。实际上,底层可能隐藏了你无法使用默认的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)
通常使用sns别名导入Seaborn。
如果这是一个带有name属性的Series对象,数据轴的标签将是该名称。
参数
编号 | 参数及其值 | 定义 |
---|---|---|
1 | bins: 在matplotlib hist()中的参数,无,默认值为none | 直方图的箱子规格 |
2 | hist: 布尔值,可选 | 用于指定是否绘制归一化的直方图 |
3 | Kde: 布尔值,可选 | 用于指定是否绘制高斯核密度估计 |
4 | rug: 布尔值,可选 | 用于指定是否在支持轴上绘制地毯图 |
5 | fit: 对象,可选 | 具有fit方法的对象,返回一个可以传递给pdf方法的位置参数的元组,以在值网格上评估pdf。 |
6 | color: 颜色,可选 | 除了适合的曲线之外,其他都应该有颜色。 |
7 | vertical: 布尔值,可选 | 如果参数的值为true,则观察值位于y轴上。 |
8 | norm_hist: 布尔值,可选 | 如果为True,则直方图高度显示项数而不是存在的数量。如果显示了KDE或拟合密度,则清晰可见。 |
9 | label: 字符串,可选 | 用传说标记出图的重要部分。 |
10 | ax: 轴,可选 | 如果提供了该参数的值,则在提供的轴上绘制。 |
使用Seaborn添加轮廓或边框颜色到直方图的程序
在这个程序中,我们将使用vega_datasets中的Seattle天气数据构建一个直方图。
示例
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()方法中的特定参数来构建具有轮廓或边缘颜色的histplot。我们使用了两个不同的数据集(西雅图天气数据集和la_riots)来构建直方图。