Seaborn绘图——概述

记录利用 Seaborn 绘图的方法,方便后续查阅。

1 前言

因为需要用到seaborn相关的绘图工具,因此记录一下学习笔记,方便后续自己查阅。参考链接中的第一个链接是自己学习的主要来源,第二个链接对seaborn的调色以及其他的一些基本使用有较为详尽的介绍。

2 概述

seaborn 是在 matplotlib 基础上开发的一个绘图库,使用 seaborn 可以便捷地绘制多种科研用图。 seaborn 的安装方法:

1
pip install seaborn

查看 seaborn 的版本:

1
2
import seaborn as sns
print(sns.__version__)

3 seaborn 中数据的读取

seaborn 对应的数据格式是 pandas 的 DataFrame 或者 Numpy 数组。seaborn 中有 19 种数据集供大家使用,不过使用的时候需要科学上网才能正常下载。为了方便,也可以从 Github 上提前先下载好相应的数据集,下载链接:https://github.com/mwaskom/seaborn-data.

1
2
3
4
5
# 查看seaborn有哪些自带的数据集
import seaborn as sns
print(sns.get_dataset_names())
# 结果为:
# ['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_crashes', 'diamonds', 'dots', 'exercise', 'flights', 'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins', 'planets', 'taxis', 'tips', 'titanic']

3.1 tips 数据集

1
2
3
4
5
import seaborn as sns
tip_df = sns.load_dataset("tips")
print(type(tip_df)) # <class 'pandas.core.frame.DataFrame'>
print(tip_df.shape) # (244, 7)
print(tip_df)

运行结果为:
tips

可以看到,seaborn 是一个包含244行、7列数据的 pandas 的 DataFrame 格式数据。每一列的数据分别为:

  • total_bill: 总账单
  • tip: 小费
  • sex: 性别,包含男女两种
  • smoker: 吸烟与否
  • day: 星期几
  • time: 午餐和晚餐两种
  • size: 每桌人数2~6共五种

3.2 penguins 数据集

penguins 数据集是一个 344 行、 7 列的企鹅数据集,每一列的含义为:

  • species: 企鹅种类,共三种
  • island: 共有三种岛屿
  • bill_length_mm: 嘴巴长度
  • bill_depth_mm: 嘴巴深度
  • flipper_length_mm: 脚掌长度
  • body_mass_g: 体重
  • sex: 性别,共两种
    penguins

3.3 diamonds 数据集

diamonds 数据集包含 53940 行、10 列,其中每一列的含义为:

  • carat: 代表钻石的重量
  • cut: 代表了钻石的切工,由低到高依次为Fair, Good, Very Good, Premium, Ideal
  • color: 代表了钻石的颜色从最低的 J 到最高的 D
  • clarity: 代表了钻石的透明程度从低到高依次为I1, SI1, SI2, VS1, VS2, VVS1, VVS2, IF
  • depth: 深度
  • table: 代表了钻石的桌面比例
  • price: 代表了钻石的价格
  • x: 钻石的长
  • y: 钻石的宽
  • z: 钻石的高
    diamonds

3.4 fmri 数据集

fmri 数据集是一个事件相关功能核磁共振成像数据,包含 1064 行 5 列,每一列数据含义为:

  • subject: 刺激类型,共有14种
  • timepoint: 时间点,共有19种(0~18)
  • event: 事件,共2种
  • region: 大脑区域,共2种
  • signal: 信号,共1064个结果
    fmri

4 API 概述

总体来讲,seaborn 的 API 可以分为绘图层面的函数以及其下对应的坐标轴层面的函数:

  • displot(变量分布,distribution plot)
    • histplot(直方图)
    • kdeplot
    • ecdfplot
    • rugplot
  • replot(两变量,relation plot)
    • scatterplot(散点图)
    • lineplot
  • lmplot(线性关系,linear model plot)
    • regplot(线性回归拟合)
    • residplot(残差)
  • catplot(类别变量分析,category)
    • countplot(类似与histplot)
    • barplot
    • pointplot
    • boxplot
    • stripplot
    • swarmplot
    • violinplot

如此分类,只需在四种图绘制函数的参数kind进行修改即可绘制相应的图形。

5 参考链接

  1. https://www.bilibili.com/video/BV1VX4y1F76x?spm_id_from=333.337.search-card.all.click
  2. https://www.bilibili.com/video/BV1HF411B72n?spm_id_from=333.337.search-card.all.click
  3. https://github.com/mwaskom/seaborn-data
------ 本文结束感谢您的阅读------
Donate a cup of cola?