Seaborn数据可视化教程:从入门到精通

需积分: 29 9 下载量 33 浏览量 更新于2024-08-05 收藏 970KB PDF 举报
"Seaborn数据可视化.pdf" Seaborn是Python中一个强大的数据可视化库,它是基于matplotlib构建的,提供了更高级别的接口,使得创建复杂的统计图表变得更加简单和直观。Seaborn不仅增强了matplotlib的基本功能,还添加了多种美观的默认样式和主题,以及对复杂数据结构的内置支持,如DataFrame。 1. Seaborn介绍 Seaborn的核心目标是提高数据可视化的效果,使其更具吸引力且易于理解。它适用于数据探索、分析和展示,尤其适合进行统计分析。通过Seaborn,用户可以方便地创建各种图表,包括但不限于线性图、散点图、柱状图、箱式图、直方图、分类散点图和热力图。Seaborn与matplotlib的关系是互补的,它扩展了matplotlib的功能,但并不完全替代它,因为某些特定的自定义需求仍需借助matplotlib实现。 2. 安装 安装Seaborn非常简单,可以通过Python的包管理器pip来完成。命令如下: ``` pip install seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 3. 快速上手 - **样式设置**:使用`sns.set(style=...)`可以改变图表的主题风格。例如,`style='darkgrid'`是默认的黑色网格背景,`style='whitegrid'`则是白色网格背景。此外,还有`dark`(黑色背景)、`white`(白色背景)和`ticks`(四周有刻度线的白背景)等选项。同时,可以使用`sns.set(context=...)`调整图表的大小,如`'paper'`、`'notebook'`(默认)、`'talk'`和`'poster'`,这些选项会改变图表元素的相对大小,适用于不同的展示场合。 - **线形图**:使用`sns.lineplot()`可以绘制线形图。例如,以下代码将创建一个绿色虚线的正弦函数图和一个红色实线的余弦函数图: ```python import seaborn as sns import matplotlib.pyplot as plt import pandas as pd import numpy as np sns.set(style='dark', context='poster', font='STKaiti') plt.figure(figsize=(9, 6)) x = np.linspace(0, 2*np.pi, 20) y_sin = np.sin(x) y_cos = np.cos(x) sns.lineplot(x=x, y=y_sin, color='green', ls='--') sns.lineplot(x=x, y=y_cos, color='red', ls='-') ``` 4. 各种图形绘制 - **调色板**:Seaborn允许用户自定义或选择预设的调色板,以改变图表中的颜色。这可以通过`sns.set_palette()`或在绘制图表时指定`palette`参数来实现。 - **线形图**:除了基础的线形图外,Seaborn还支持线图的多组数据对比,可以通过`sns.lineplot()`的`data`参数指定DataFrame,自动处理多列数据。 - **散点图**:`sns.scatterplot()`用于绘制散点图,可以展示两个变量之间的关系。通过`size`、`hue`等参数,可以进一步丰富图形信息。 - **柱状图**:`sns.barplot()`和`sns.countplot()`用于绘制柱状图,前者用于展示连续变量的分组数据,后者则用于计数离散变量的频数。 - **箱式图**:`sns.boxplot()`用于绘制箱型图,展示了数据的四分位数、中位数和异常值。 - **直方图**:`sns.histplot()`用于绘制直方图,可以展示数据分布的频率或密度。 - **分类散点图**:`sns.stripplot()`或`sns.swarmplot()`用于在分类数据上绘制散点图,`stripplot`允许重叠,`swarmplot`则会避免点的重叠。 - **热力图**:`sns.heatmap()`用于创建热力图,显示数值矩阵的二维分布,颜色深浅代表数值大小。 Seaborn为Python的数据可视化提供了丰富的工具,无论是在科学研究、数据分析还是报告制作中,都能大大提高数据可视化的工作效率和质量。通过熟练掌握Seaborn,用户可以轻松创建出专业且具有洞察力的数据图表。
2019-10-12 上传
1. 目录 1. 目录 2 2. 绘图函数Plotting functions 4 2.1. 可视化的统计关系Visualizing statistical relationships 4 2.1.1. 用散点图联系变量Relating variables with scatter plots 4 2.1.2. 强调线条图的连续性Emphasizing continuity with line plots 10 2.1.3. 显示与切面的多个关系Showing multiple relationships with facets 21 2.2. 分类数据绘图Plotting with categorical data 24 2.2.1. 分类散点图Categorical scatterplots 26 2.2.2. 分类观测值分布Distributions of observations within categories 31 2.2.3. 分类统计估计Statistical estimation within categories 37 2.2.4. 对“wide-form”数据作图Plotting “wide-form” data 41 2.2.5. 显示与facet的多个关系Showing multiple relationships with facets 43 2.3. 可视化数据集的分布Visualizing the distribution of a dataset 44 2.3.1. 绘制单变量分布Plotting univariate distributions 45 2.3.2. 绘制二元分布Plotting bivariate distributions 51 2.3.3. 在数据集中可视化成对关系Visualizing pairwise relationships in a dataset 55 2.4. 可视化线性关系Visualizing linear relationships 57 2.4.1. 函数绘制线性模型Functions to draw linear regression models 58 2.4.2. 拟合不同种类的模型Fitting different kinds of models 61 2.4.3. 在其他变量上的情况Conditioning on other variables 68 2.4.4. 控制图表的大小和形状Controlling the size and shape of the plot 71 2.4.5. 在其他上下文中绘制回归图Plotting a regression in other contexts 73 3. 多图网格Multi-plot grids 76 3.1. 构建结构化的多图网格Building structured multi-plot grids 76 3.2. 有条件的小倍数Conditional small multiples 77 3.3. 使用定制函数Using custom functions 86 3.4. 绘制成对的数据关系Plotting pairwise data relationships 90 4. 绘图美学Plot aesthetics 99 4.1. 控制图表美学Controlling figure aesthetics 99 4.1.1. Seaborn图表风格Seaborn figure styles 101 4.1.2. 删除轴上的小凸起Removing axes spines 104 4.1.3. 临时设置图表样式Temporarily setting figure style 105 4.1.4. 覆盖Seaborn样式的元素Overriding elements of the seaborn styles 106 4.1.5. 缩放图表元素Scaling plot elements 108 4.2. 选择调色板Choosing color palettes 111 4.2.1. 创建颜色调色板Building color palettes 111 4.2.2. 定性调色板Qualitative color palettes 112 4.2.3. 连续调色板Sequential color palettes 116 4.2.4. 不同颜色的调色板Diverging color palettes 122 4.2.5. 设置默认调色板Setting the default color palette 124 5. 教程中的数据集 125