Python数据可视化中的分类图和分布图


一个基于matplotlib的Python可视化包称为Seaborn。它提供了一个高级绘图接口,用于创建美观的统计可视化效果。它基于Matplotlib,并支持pandas和numpy数据结构以及来自scipy和statsmodels的统计函数。

Seaborn可以通过多种方式显示涉及分类数据的关联。这类似于relplot()与scatterplot()或lineplot()之间的关系,这两种方法都可以创建这些图表。有各种轴级方法可以以不同的方式绘制分类数据,而图形级接口catplot()则为它们提供了统一的高级访问。

什么是分类数据?

分类数据是指属于特定类别或组的数据。在Python中,分类数据通常存储为Pandas分类数据类型。

分类数据通常用于存储可以划分为固定数量类别的的数据,例如性别(男,女),产品类型(手机,电脑,电视)或血型(A,B,AB,O)。仅允许分类但不允许对变量进行明确排序的变量是纯分类的。如果变量具有明确的排序,则将其视为有序变量。

现在让我们讨论使用seaborn绘制分类数据!为此,有几种主要的绘图类型:

  • 条形图(barplot)

  • 计数图(countplot)

  • 箱线图(boxplot)

  • 小提琴图(violinplot)

  • 散点图(striplot)

  • 蜂群图(swarmplot)

让我们逐一了解每个图的示例!

首先,我们将导入库Seaborn。

import seaborn as sns

%matplotlib inline

#在jupyter notebook中内联绘制图形

条形图

条形图是一种使用不同高度的条形来图形化显示数据的图表。它用于可视化分类变量的分布。条形的高度表示类别的计数或频率。

sns.barplot(x='sex',y='total_bill',data=t)

这里的参数x和y指的是在参数'data'中提供的dataset中变量的名称。

计数图

计数图是一种条形图,显示分类变量的计数或频率。它是条形图的专用版本,可用于快速可视化数据分布。创建计数图的命令为:

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()是轴级函数。图形级函数displot()、jointplot()和pairplot()将它们全部组合在一起。

Displot

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

地毯图是一种图形化显示数据的图表,它显示数值变量沿轴的分布。它类似于直方图,但它不显示数据的频率或密度,而是显示沿轴的实际数据点作为线或刻度。

地毯图可用于可视化数据分布并识别异常值的存在。它还可以用于比较多个变量的分布。

语法

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)

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

结论

总之,分类图和分布图分别是用于探索和分析分类数据和连续数据的可视化类型。分类图可视化数据集中类别的分布,可用于识别数据中的模式和趋势。分布图用于可视化连续变量的分布,可用于识别数据中的模式和趋势。

Python中的许多库提供了广泛的分类图和分布图,包括Matplotlib、Seaborn和Plotly。分类图的一些示例包括条形图、饼图和箱线图,分布图的一些示例包括直方图、核密度图和小提琴图。了解不同类型的图以及何时使用它们对于在Python中探索和分析数据非常有用。

更新于: 2023年5月5日

1K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

立即开始
广告