{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 数据可视化-Seaborn简易入门" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matplotlib试着让简单的事情更加简单,困难的事情变得可能,而Seaborn就是让困难的东西更加简单。\n", "\n", "seaborn是针对统计绘图的,一般来说,seaborn能满足数据分析90%的绘图需求。\n", "\n", "Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,应该把Seaborn视为matplotlib的补充,而不是替代物。\n", "\n", "用matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### seaborn一共有5个大类21种图,分别是:\n", "\n", "* Relational plots 关系类图表\n", " 1. relplot() 关系类图表的接口,其实是下面两种图的集成,通过指定kind参数可以画出下面的两种图\n", " 2. scatterplot() 散点图\n", " 3. lineplot() 折线图\n", "\n", "* Categorical plots 分类图表\n", " 1. catplot() 分类图表的接口,其实是下面八种图表的集成,,通过指定kind参数可以画出下面的八种图\n", " 2. stripplot() 分类散点图\n", " 3. swarmplot() 能够显示分布密度的分类散点图\n", " 4. boxplot() 箱图\n", " 5. violinplot() 小提琴图\n", " 6. boxenplot() 增强箱图\n", " 7. pointplot() 点图\n", " 8. barplot() 条形图\n", " 9. countplot() 计数图\n", "\n", "* Distribution plot 分布图\n", " 1. jointplot() 双变量关系图\n", " 2. pairplot() 变量关系组图\n", " 3. distplot() 直方图,质量估计图\n", " 4. kdeplot() 核函数密度估计图\n", " 5. rugplot() 将数组中的数据点绘制为轴上的数据\n", "\n", "* Regression plots 回归图\n", " 1. lmplot() 回归模型图\n", " 2. regplot() 线性回归图\n", " 3. residplot() 线性回归残差图\n", "\n", "* Matrix plots 矩阵图\n", " 1. heatmap() 热力图\n", " 2. clustermap() 聚集图\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "# 如果不添加这句,是无法直接在jupyter里看到图的\n", "import seaborn as sns\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "有一套的参数可以控制绘图元素的比例。\n", "\n", "首先,让我们通过`set()`重置默认的参数:\n", "\n", "有五种seaborn的风格,它们分别是:`darkgrid`, `whitegrid`, `dark`, `white`, `ticks`。它们各自适合不同的应用和个人喜好。默认的主题是`darkgrid`。\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sns.set(style=\"ticks\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | dataset | \n", "x | \n", "y | \n", "
|---|---|---|---|
| 0 | \n", "I | \n", "10.0 | \n", "8.04 | \n", "
| 1 | \n", "I | \n", "8.0 | \n", "6.95 | \n", "
| 2 | \n", "I | \n", "13.0 | \n", "7.58 | \n", "
| 3 | \n", "I | \n", "9.0 | \n", "8.81 | \n", "
| 4 | \n", "I | \n", "11.0 | \n", "8.33 | \n", "