Python中得可视化:使用Seaborn绘制常用图表(上)

简介: Python中得可视化:使用Seaborn绘制常用图表

Seaborn是Python中的一个库,主要用于生成统计图形。

640.png

Seaborn是构建在matplotlib之上的数据可视化库,与Python中的pandas数据结构紧密集成。可视化是Seaborn的核心部分,可以帮助探索和理解数据。

要了解Seaborn,就必须熟悉NumpyMatplotlib以及pandas

Seaborn提供以下功能:

  1. 面向数据集的API来确定变量之间的关系。
  2. 线性回归曲线的自动计算和绘制。
  3. 它支持对多图像的高级抽象绘制。
  4. 可视化单变量和双变量分布。

这些只是Seaborn提供的功能的一部分,还有很多其他功能,我们可以在这里探索所有的功能。

要引入Seaborn库,使用的命令是:

importseabornassns

使用Seaborn,我们可以绘制各种各样的图形,如:

  1. 分布曲线
  2. 饼图和柱状图
  3. 散点图
  4. 配对图
  5. 热力图

在文章中,我们使用从Kaggle下载的谷歌Playstore数据集。

1.分布曲线

我们可以将Seaborn的分布图与Matplotlib的直方图进行比较。它们都提供非常相似的功能。这里我们画的不是直方图中的频率图,而是y轴上的近似概率密度。

我们将在代码中使用sns.distplot()来绘制分布图。

在进一步之前,首先,让我们访问我们的数据集,

importpandasaspdimportnumpyasnppstore=pd.read_csv("googleplaystore.csv")
pstore.head(10)

从我们的系统访问数据集

数据集是这样的,

640.png

从Kaggle获得的谷歌播放商店数据集

现在,让我们看看如果我们绘制来自上述数据集的“Rating”列的分布图是怎样的,

#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Createadistributionplotforratingsns.distplot(pstore.Rating)
plt.show()

Rating列分布图的代码

Rating列的分布图是这样的,

640.png

在这里,曲线(KDE)显示在分布图上的是近似的概率密度曲线。

与matplotlib中的直方图类似,在分布方面,我们也可以改变类别的数量,使图更容易理解。

我们只需要在代码中加上类别的数量,

#Changethenumberofbinssns.distplot(inp1.Rating, bins=20, kde=False)
plt.show()

图像是这样的,

640.png

特定类别数的分布图

在上图中,没有概率密度曲线。要移除曲线,我们只需在代码中写入' kde = False '

我们还可以向分布图提供与matplotlib类似的容器的标题和颜色。让我们看看它的代码,

#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Createadistributionplotforratingsns.distplot(pstore.Rating, bins=20, color="g")
plt.title("Distribution of app ratings", fontsize=20, color='red')
plt.show()

同一列Rating的分布图是这样的:

640.png

有标题的分布图

对Seaborn图形进行样式化

使用Seaborn的最大优势之一是,它为图形提供了广泛的默认样式选项。

这些是Seaborn提供的默认样式。

'Solarize_Light2',
'_classic_test_patch',
'bmh',
'classic',
'dark_background',
'fast',
'fivethirtyeight',
'ggplot',
'grayscale',
'seaborn',
'seaborn-bright',
'seaborn-colorblind',
'seaborn-dark',
'seaborn-dark-palette',
'seaborn-darkgrid',
'seaborn-deep',
'seaborn-muted',
'seaborn-notebook',
'seaborn-paper',
'seaborn-pastel',
'seaborn-poster',
'seaborn-talk',
'seaborn-ticks',
'seaborn-white',
'seaborn-whitegrid',
'tableau-colorblind10'

我们只需要编写一行代码就可以将这些样式合并到我们的图中。

#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Addingdarkbackgroundtothegraphplt.style.use("dark_background")
#Createadistributionplotforratingsns.distplot(pstore.Rating, bins=20, color="g")
plt.title("Distribution of app ratings", fontsize=20, color='red')
plt.show()

在将深色背景应用到我们的图表后,分布图看起来是这样的,

640.png

深色背景的分布图

2.饼图和柱状图

饼图通常用于分析数字变量在不同类别之间如何变化。

在我们使用的数据集中,我们将分析内容Rating栏中的前4个类别的执行情况。

首先,我们将对内容Rating列进行一些数据清理/挖掘,并检查其中的类别。

#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#AnalyzingtheContentRatingcolumnpstore['Content Rating'].value_counts()

类别列表是,

640.png

Rating列数

根据上面的输出,由于“只有18岁以上的成年人”和“未分级”的数量比其他的要少得多,我们将从内容分级中删除这些类别并更新数据集。

#importingallthelibrariesimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassns#Removetherowswithvalueswhicharelessrepresentedpstore=pstore[~pstore['Content Rating'].isin(["Adults only 18+","Unrated"])]
#Resettingtheindexpstore.reset_index(inplace=True, drop=True)
#AnalyzingtheContentRatingcolumnagainpstore['Content Rating'].value_counts()

更新后在“Rating”栏中出现的类别是:

640.png

更新数据集后的Rating计数

目录
相关文章
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
7天前
|
Python
如何使用Python的Plotly库创建交互式图表?
Plotly是Python的交互式图表库,支持多种图表类型,如折线图、散点图、柱状图。使用步骤包括安装库、导入模块、准备数据、创建图表对象、添加数据和设置属性,最后显示或保存图表。
17 6
|
8天前
|
数据可视化 算法 数据挖掘
PYTHON实现谱聚类算法和改变聚类簇数结果可视化比较
PYTHON实现谱聚类算法和改变聚类簇数结果可视化比较
|
8天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
24 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
8天前
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
56 6
|
8天前
|
机器学习/深度学习 数据可视化 算法
PYTHON用决策树分类预测糖尿病和可视化实例
PYTHON用决策树分类预测糖尿病和可视化实例
17 0
|
8天前
|
数据可视化 算法 Python
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
24 0
|
安全 数据可视化 Python
使用Python可视化并分析数据 大型流行病如何影响金融市场(三)
使用Python可视化并分析数据 大型流行病如何影响金融市场(三)
95 0
使用Python可视化并分析数据 大型流行病如何影响金融市场(三)
|
安全 数据可视化 Java
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
161 0
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
|
供应链 数据可视化 API
使用Python可视化并分析数据 大型流行病如何影响金融市场(一)
使用Python可视化并分析数据 大型流行病如何影响金融市场(一)
157 0
使用Python可视化并分析数据 大型流行病如何影响金融市场(一)