Python 数据可视化中的分类和分布图
Seaborn是一个基于Matplotlib的Python可视化包。它提供了一个高级绘图界面,用于创建漂亮的统计图表。它基于Matplotlib,并支持Pandas和Numpy的数据结构,以及Scipy和Statsmodels的统计函数。
在Seaborn中,可以以多种方式展示包含分类数据的连接。可以通过两种方式创建这些图表,这与relplot()函数与scatterplot()函数或lineplot()函数之间的关系类似。有多种基于轴的方法可以以不同的方式绘制分类数据,而figure-level的接口catplot()提供了对它们的统一高级访问。
什么是分类数据
分类数据是指属于特定类别或组的数据。在Python中,分类数据通常被存储为Pandas的分类数据类型。
分类数据常用于存储可分为固定类别的数据,比如性别(男性、女性)、产品类型(手机、电脑、电视)或血型(A、B、AB、O)。如果一个变量仅允许分类但没有确切的变量排序,则属于纯粹的分类变量。如果一个变量具有明确的排序,则被认为是有序的。
接下来,让我们讨论如何使用Seaborn绘制分类数据!这里有几种主要的图表类型:-
- 条形图(barplot)
-
计数图(countplot)
-
箱线图(boxplot)
-
小提琴图(violinplot)
-
散点图(stripplot)
-
蜂群图(swarmplot)
让我们来看一下每种图表的示例!
首先,我们要导入Seaborn库。
import seaborn as sns
%matplotlib inline
在jupyter笔记本中内联绘制图表
条形图
条形图是一种使用不同高度的条形来显示数据的图表形式。它用于可视化分类变量的分布情况。条形的高度代表该类别的计数或频率。
sns.barplot(x='sex',y='total_bill',data=t)
在参数‘data’提供的数据集中,参数x和y指的是变量的名称。
计数图
计数图是显示分类变量的计数或频率的柱状图。它是柱状图的一种特殊版本,用于快速可视化数据分布。创建计数图的命令为 –
sns.countplot(x='sex',data=t)
箱线图
箱线图是使用箱子和须子来图形化显示数据的方法。它用于可视化数值变量的分布和摘要统计信息。箱子表示四分位距(IQR),而须子表示数据的最小值和最大值。
sns.boxplot(x=’day’,y=’total_bill’,data=t,palette=’rainbow’)
小提琴图
小提琴图是将箱线图和核密度图相结合的一种图形化方式来显示数据。它用于可视化数值变量的分布和摘要统计信息。小提琴的宽度表示数据的核密度估计,而小提琴内部的箱子表示四分位距(IQR)。
sns.violinplot(x="day", y="total_bill", data=t,palette='rainbow')
分条图与群集图
分条图是使用散点图显示数据的一种图形展示方式,其中一个变量是分类变量。它用于可视化不同类别的数值变量的分布。
群集图是使用散点图显示数据的一种图形展示方式,其中的点被调整以防止重叠。它类似于分条图,但点不是定位在分类轴上的。
分布图
分布模块中的各种函数可以提供解决类似问题的答案。Histplot()、kdeplot()、ecdfplot()和rugplot是轴级函数。 figure-level displot()、jointplot()和pairplot()例程将它们都包含在内。
分布图
displot()是Python的Seaborn库中的一个函数,用于可视化一个单一数值变量的分布。它创建一个直方图,并拟合数据的概率密度函数(PDF)或核密度估计(KDE)。
语法
distplot(a[, bins, hist, kde, rug, fit, ...])
Joinplot
jointplot()是Seaborn库中用于可视化两个数值变量之间关系的函数。它创建一个散点图,拟合数据的回归线,并使用直方图或KDE图显示每个变量的分布。
语法
jointplot(x, y[, data, kind, stat_func, ...])
Pairplot
pairplot()是Seaborn库中用于可视化数据集中所有变量之间关系的函数。它创建一个散点图和直方图或KDE图的网格,用于每对变量的组合,可以快速探索和可视化数据中的关系。
语法
pairplot(data, *, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, corner=False, dropna=False, plot_kws=None, diag_kws=None, grid_kws=None, size=None)
地毯图
地毯图是一种显示数值变量沿着轴线分布的图形显示方式。它类似于直方图,但不是显示数据的频率或密度,而是将实际数据点作为线条或刻度显示在轴线上。
地毯图对于可视化数据分布和识别异常值非常有用。它也可用于比较多个变量的分布。
语法
rugplot(data=None, *, x=None, y=None, hue=None, height=0.025, expand_margins=True, palette=None, hue_order=None, hue_norm=None, legend=True, ax=None, **kwargs)
结论
总之,分类和分布图是用于探索和分析分类和连续数据的可视化类型。分类图可视化数据集中类别的分布,并可用于识别数据中的模式和趋势。分布图用于可视化连续变量的分布,并可用于识别数据中的模式和趋势。
Python中的许多库提供了各种分类和分布图,包括Matplotlib、Seaborn和Plotly。一些分类图的示例包括条形图、饼图和箱线图,一些分布图的示例包括直方图、核密度图和小提琴图。了解不同类型的图表以及何时使用它们,对于在Python中探索和分析数据非常有用。