python数据分析之seaborn常见统计图

2021年第一篇博客

1.Seaborn介绍

为了使用Python分析一组数据,我们使用了Matplotlib,这是一个广泛实现的2D绘图库。同样,Seaborn是Python中的可视化库。它建立在Matplotlib之上。

Seaborn有助于解决Matplotlib面临的两个主要问题; 问题是

  • 默认的Matplotlib参数
  • 使用数据框架

随着Seaborn对Matplotlib的称赞和扩展,学习曲线非常渐进。如果你知道Matplotlib,你已经在Seaborn的中途了。

Seaborn构建于Python的核心可视化库Matplotlib之上。它旨在作为补充,而不是替代。然而,Seaborn带有一些非常重要的功能。我们在这里看一些。这些功能有助于

  • 内置主题的样式matplotlib图形
  • 可视化单变量和双变量数据
  • 拟合并可视化线性回归模型
  • 绘制统计时间序列数据
  • Seaborn与NumPy和Pandas数据结构配合良好
  • 它内置了Matplotlib图形样式的主题

在大多数情况下,您仍然可以使用Matplotlib进行简单的绘图。建议使用Matplotlib的知识来调整Seaborn的默认图。

2.Seaborn环境配置

#pip安装
pip install seaborn
#或者anaconda安装
conda install seaborn

3.Seaborn自带数据集

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#打印seaborn自带的数据集名字
print(sns.get_dataset_names())

结果如下:
python数据分析之seaborn常见统计图
访问其中的数据集(很不稳定,经常因为网络原因访问失败)

#访问数据集
data=sns.load_dataset("dots")
print(data.head(10))

这里我们将数据集下载下来给大家
链接: 百度网盘seaborn数据集链接.
提取码:ytgb
python数据分析之seaborn常见统计图

4.Seaborn图样式

操作样式的界面是 set_style() 。使用此功能可以设置绘图的主题。根据最新更新版本,以下是可用的五个主题。

  • Darkgrid
  • Whitegrid
  • Dark
  • White
  • Ticks

例如:

import seaborn as sns
sns.set_style('Darkgrid')

5.Seaborn调色板

#Seaborn提供了一个名为 color_palette() 的函数,可用于为图表添加颜色并为其添加更多美学价值。
seaborn.color_palette(palette = None,n_colors = None,desat = None)

参数解释:

参数 解释
n_colors 调色板中的颜色数。如果为None,则默认值取决于指定调色板的方式。默认情况下,n_colors的值为10种颜色。
desat 每种颜色去饱和的比例。
from matplotlib import pyplot as plt
import seaborn as sns
#实例化一个调色板
current_palette = sns.color_palette()
#seaborn.palplot() 可将调色板颜色水平排列
sns.palplot(current_palette)
plt.show()

结果如下:python数据分析之seaborn常见统计图
设置连续颜色的调色板

import seaborn as sns
from matplotlib import pyplot as plt
#设置连续颜色的调色板
current_palette = sns.color_palette()
sns.palplot(sns.color_palette("Greens"))
plt.show()

结果如下:
python数据分析之seaborn常见统计图
在画图中,函数 color_palette() 有一个名为 set_palette() 的伴侣,set_palette()可以设置画图时的颜色

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import pyplot as plt
x = np.linspace(0, 14, 100)
y=np.sin(x)
#将线条的颜色设置为绿色,且深浅等级为4
sns.set_palette("Greens",4)
plt.plot(x,y)
plt.show()

结果如下:
python数据分析之seaborn常见统计图

6.Seaborn条形图

seaborn.distplot(data,bins,hist,kde)
变量 解释
data 1d数组或列表
bins 组织箱的规格
hist 布尔
kde 布尔

实现:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import pyplot as plt
data=pd.read_csv(r'C:\Users\Administrator\Desktop\seaborn-data-master\iris.csv')
#displot选择出数据单一变量,快速查看单变量
sns.displot(data['petal_length'],kde=False)
plt.show()

python数据分析之seaborn常见统计图

7.Seaborn核密度估计

核密度估计(KDE)是一种估计连续随机变量的概率密度函数的方法。它用于非参数分析。

seaborn.kdeplot(data, data2=None, shade=False, 
                vertical=False, kernel='gau', bw='scott',
                gridsize=100, cut=3, clip=None,
                legend=True, cumulative=False,
                shade_lowest=True, cbar=False, 
                cbar_ax=None, cbar_kws=None, ax=None, **kwargs)

例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import pyplot as plt
data=pd.read_csv(r'C:\Users\Administrator\Desktop\seaborn-data-master\iris.csv')
#displot选择出数据单一变量,快速查看单变量
sns.kdeplot(data['petal_length'])
plt.show()

结果如下:
python数据分析之seaborn常见统计图

8.Seaborn散点图

seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, 
data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, 
size_order=None, size_norm=None, markers=True, style_order=None,
 x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, 
 alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
参数 解释
x,y 容易理解就是你需要传入的数据,一般为dataframe中的列;
hue 也是具体的某一可以用做分类的列,作用是分类;
data 是你的数据集,可要可不要,一般都是dataframe;
style 绘图的风格(后面单独介绍);
size 绘图的大小(后面介绍);
palette 调色板(后面单独介绍);
markers 绘图的形状(后面介绍);
ci 允许的误差范围(空值误差的百分比,0-100之间),可为‘sd’,则采用标准差(默认95);
n_boot(int) 计算置信区间要使用的迭代次数;
alpha 透明度;
x_jitter,y_jitter 设置点的抖动程度。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import pyplot as plt
data1=pd.read_csv(r'C:\Users\Administrator\Desktop\seaborn-data-master\iris.csv')
#displot选择出数据单一变量,快速查看单变量
sns.scatterplot('petal_length','petal_width',data=data1)
plt.show()

结果如下:
python数据分析之seaborn常见统计图

这里只是初步介绍了几种简单的图表,seaborn还能画出箱线图、联合分布图、热力图、小提琴图等等,以后接着介绍。

上一篇:AWS Lambda快速上手 - 接受SNS,并且插入DynamoDB


下一篇:Python可视化除了matplotlib以外,另一个强大的可视化第三方库---seaborn