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())
结果如下:
访问其中的数据集(很不稳定,经常因为网络原因访问失败)
#访问数据集
data=sns.load_dataset("dots")
print(data.head(10))
这里我们将数据集下载下来给大家
链接: 百度网盘seaborn数据集链接.
提取码:ytgb
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()
结果如下:
设置连续颜色的调色板
import seaborn as sns
from matplotlib import pyplot as plt
#设置连续颜色的调色板
current_palette = sns.color_palette()
sns.palplot(sns.color_palette("Greens"))
plt.show()
结果如下:
在画图中,函数 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()
结果如下:
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()
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()
结果如下:
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()
结果如下: