目录

一、Seaborn安装与导入

1.1 安装与升级

1.2 导入

1.3 创建数据集+绘图

二、serborn图表设置

2.1 设置线型

2.2 设置颜色

2.3 分类对象

2.4 图表标题

2.5 使用主题

三、serborn基础图表

3.1 折线图

3.2 柱形图

3.3 计数图

3.4 箱线图

3.5 热力图

3.6 热图

3.7 散点图

四、seaborn统计图表

4.1 小提琴图

4.2 点图

4.3 分簇散点图

4.4 回归图

4.5 分类散点图

4.6 散点图矩阵


一、Seaborn安装与导入

Serborn是基于python的可视化库,基于Matplotlib库进行构建,提供了更高级别的界面和更好看的默认风格。

Seaborn的特点:

  • Seaborn是基于Matplotlib的更高级别的封装,使得作图更加容易,且图形更加美观;
  • Seaborn提供了更漂亮的默认样式和调色板,使统计图形更具吸引力;
  • Seaborn与pandas的数据结构紧密集成,使得数据处理和可视化更加方便;
  • 可针对于统计绘图,用于数据的统计描述和探索分析,补充Matplotlib作图风格

1.1 安装与升级

# 镜像安装
# pip install seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple

#卸载包
# pip uninstall seaborn

1.2 导入

import seaborn as sns

# 查看方法
dir(sns)

1.3 创建数据集+绘图

import pandas as pd
import numpy as np
import random

# 商品品类列表
categories = ['办公家具', '厨房电器','家装饰品', '床品件套', '电脑硬件'] 

# 使用列表生成式随机生成分类字段的值
random_categories = [random.choice(categories) for i in range(30)]

# 导入数据
df = pd.DataFrame(data={'销售日期':pd.date_range('20231101',periods=30),
                        '销售数':np.random.randint(100,1000,30),
                        '销售单均':np.random.randint(50,100,30),
                        '销售成本':np.random.randint(500,1000,30),
                        '商品品类':random_categories}
                )
df['日期'] = df['销售日期'].dt.day
df['销售额'] = df['销售数']*df['销售单均']
df['利润']=df['销售额']-df['销售成本']
df.head()

# 使用上述数据绘制简单的折线图
import seaborn as sns

sns.lineplot(x='日期',y='销售数',data=df)

二、serborn图表设置

如何对图表进行个性化与专业化的调整,以更好地满足数据分析与呈现的需求。

Seaborn图表设置包括:设置线型、设置颜色、分类对象、图表标题、使用主题几个方面

2.1 设置线型

import seaborn as sns  
import seaborn as sns  

# linestyle 线型
# linewidth 线宽
# marker 标记点
# markersize 标记大小

sns.lineplot(x='日期',y='销售数',data=df,linestyle= "--",linewidth=1,marker="o",markersize=5)  

2.2 设置颜色

通过color参数来设置颜色。可以设置单色或多色填充,设置渐变色等

import seaborn as sns

# 获取官方配色并转换为十六进制颜色值
colors = sns.color_palette().as_hex()

# 添加序号并打印颜色值 
for idx, color in enumerate(colors):  
    print(f'第{idx + 1}种官方配色颜色值:{color}') 

import seaborn as sns  

sns.lineplot(x='日期',y='销售数',data=df,color=sns.color_palette()[5]) #调用颜色sns.color_palette()[5] 第5种官方配色颜色值:#8172b3

2.3 分类对象

在绘制涉及类别数据的图表时,可以设置分类对象的属性,例如类别标签的字体、颜色、位置等,以确保类别之间的清晰区分,hue为数据中的变量名,用于区分不同分类对象的线,hue_order对hue变量的排序顺序。

import seaborn as sns  

sns.lineplot(x='日期',y='销售数',data=df,hue='商品品类',
             hue_order=['电脑硬件','办公家具','家装饰品','床品件套','厨房电器'])#用于区分不同的线。

2.4 图表标题

在Seaborn中,设置图表标题可以使用plt.title()函数,这是基于Matplotlib库的函数。

# 设置标题  
plt.title('双十一销售量数据趋势',fontsize=12,color='k')  

2.5 使用主题

Seaborn库中有五种风格主题:darkgrid、whitegrid、dark、white、ticks。

可通过调用seaborn.set_style()函数来全局设置主题样式

import seaborn as sns  

sns.set_style("darkgrid")#设置darkgrid主题
sns.lineplot(x='日期', y='销售数', data=df)

三、serborn基础图表

3.1 折线图

import seaborn as sns  
import matplotlib.pyplot as plt #导入matplotlib包

plt.figure(figsize = (9, 6)) #设置图表画布大小
sns.lineplot(x="日期",y="销售数",data=df)

3.2 柱形图

3.3 计数图

3.4 箱线图

3.5 热力图

一般用于显示各类别产品的数量多少

# 绘制热力图 
plt.figure(figsize = (9, 6)) #设置图表画布大小
group_df = df.pivot_table(index='日期',columns='商品品类',values='销售数',aggfunc='sum') # 准备透视表数据
sns.heatmap(data=group_df,cmap= 'YlOrRd')

3.6 热图

热图经常用于显示数据集中的各种因素如何相互关联,比如相关系数

3.7 散点图

# 绘制散点图  
plt.figure(figsize = (9, 6)) #设置图表画布大小
sns.scatterplot(x='销售数',y='销售额',data=df)

四、seaborn统计图表

4.1 小提琴图

小提琴图可以表示数据的密度,数据的密度越大的区域越胖。“小提琴”形状表示数据的核密度估计,每个点的形状宽度表示该点的数据密度。

4.2 点图

用于显示一组数据及其变异性的平均值或集中趋势。点图通常用于探索性数据分析,可以快速可视化数据集的分布或比较多个数据集

4.3 分簇散点图

用于不同类别产品的散点图显示在同一张图标,类似多条折线图,不会重叠。

4.4 回归图

用于绘制线性模型图,这个函数主要用于探索两个变量之间的关系,并可以拟合一个线性回归模型

4.5 分类散点图

4.6 散点图矩阵

#散点图矩阵
sns.pairplot(data=df[['销售数','销售单均','销售成本','销售额','利润','商品品类']],hue='商品品类')

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐