简单粗暴先上官网这里哦
在matplotlib的基础上进行更高级的API封装(就只需要一个简单的命令)从而使得作图更加容易
Seaborn优势
优势:绘制漂亮图表,数据分析而设计的绘制库,能与pandas很好结合
Seaborn安装
在cmd使用pip命令,如果以前安装了查看版本,最新是0.9.0
import seaborn as sns
sns.__version__
Seaborn绘图
绘制图表分类
-
分类图:
柱状图barplot
箱线图boxplot
小提琴图violinplot
散点图(stripplot、swarmplot)
分面网格(FacetGrid)
分类图catplot -
关联图:
散点图scatterplot
线图lineplot
分面网格(FacetGrid)关联图relplot -
分布图:
单变量分布图distplot
密度图kdeplot -
矩阵图:
热力图heatmap
聚类图clustermap -
回归图:
线性回归图regplot
分面网格(FacetGrid)线性图lmplot -
分面网格:FacetGrid
Seaborn内置数据集
可以通过load_dataset函数加载数据集,返回DataFrame对象,语法如下:
seaborn.load_dataset(name数据集名字,cache=True是否提供缓存,data_home=None指定缓存路径,…)
sns.get_dataset_names()获得数据集名字
另外,可以将数据集全部都下载下来,保存到C:\Users\Admininstrator中新建一个文件夹,小白取的名字是seaborn-data,日后需要数据集的时候就方便很多,还可以通过函数获得每个数据集的名字,从而选取自己需要的适合的数据集。
names = sns.get_dataset_names()
print(names)
sns.set()
可以用help命令查看有什么参数,举个栗子,style的五个可选参数(darkgrid默认灰网格,whitegrid白网格,dark灰色背景,white白色背景,ticks坐标轴有刻度)
sns.despine()
去除Seaborn图脊,默认去除上边和右边,还可以自己设置,如:
sns.despine(left=True, bottom=True)
左边和下边也会去掉
sns.set_context()
用于设置周边的字体,像标题等,再来一个栗子context下列可选参数从左往右依次变大(可通过中文意思判断)paper、notebook、talk、poster
用==sns.plotting_context()==查看当前各参数
Seaborn调色板
在seaborn中颜色主要分为连续渐变色板和离散分类色板
分类色板,主要用color_palette()函数,该函数能传入任何Matplotlib所支持的颜色,不写参数则为默认颜色,set_palette()设置所有图的颜色
6个默认的颜色循环主题:deep,muted,pastel,bright,dark,colorblind
这个宁们自己看看,小白带大家玩一下自定义颜色
Reds Greens Blues Oranges Purples
颜色渐变的调色板
Seaborn定义了一个hls_palette方法,通过该方法可以控制颜色的亮度和饱和度
一个交互式的方法
参数as_cmap=True设置后没有一个一个的格子,是一整条
图,各种图
柱状图
sns.barplot(x, y, hue绘图中所使用的分类/连续变量/颜色分组变量名,data数据框名称,order,hue_order用来定义hue变量各类别取值的绘图顺序,orient有v垂直和h水平两种绘制方向,saturation参数是浮点数用于设置直条颜色的饱和度
再再举栗子,用数据集里的tips数据集
hue参数,这样就可以做出两个同一图palette调色板
sns.barplot(x='day',y='tip',data=tips,hue='sex',palette='Blues')
箱线图
seaborn.boxplot(x,y,hue,data,orient,color,palette,saturation箱体颜色的饱和度,width=浮点数箱体宽度所占比例,fliersize=浮点数离群值散点大小,linewidth=None框线宽度,whis=浮点数离群值确定标准…)
还是用tips的栗子,把x,y交换就横过来了,用hue分类来对比
plot(y='day',x='tip',data=tips,hue='sex',palette='Greens')
小提琴图
其实是箱线图和密度图的结合
参数都是通用的,这里介绍一个参数,split参数将每个小提琴分开只要一半,康康下面的栗子:
sns.violinplot(x='day',y='tip',data=tips,hue='sex', palette='Blues',split=True)
今天就到这里,下一篇再介绍分类散点图——Strip图与Swarm图,分面网格分类图和散点图吧,就酱,白白!