摘要
Seaborn库的使用,包括一些基础风格的参数设置,以及调色盘(各色系的设置)~
写在前面
Matplotlib试着让简单的事情更加简单,困难的事情变得可能,而Seaborn就是让困难的东西更加简单。
实际上,Seaborn 是在matplotlib的基础上进行了更高级的 API 封装,从而使得作图更加容易
用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。
seaborn是针对统计绘图的,一般来说,seaborn能满足数据分析大部分的基本绘图需求,就能做出很具有吸引力的图,如果需要复杂的自定义图形,还是要Matplotlib。
- 官网:http://seaborn.pydata.org/index.html
- 安装:直接 pip3 install seaborn 即可
seaborn风格设置
Seaborn模块自带许多定制的主题和高级的接口,包括对图表整体颜色、比例等进行风格设置,包括颜色色板等,调用其系统风格即可实现各种不同风格的数据可视化
导入模块
本文基于jupyter notebook环境,先导入使用到的python模块,并创建一个正弦函数及绘制图表
1 | import pandas as pd |
1 | # 创建正弦函数及图表 |
set
set( ) :通过设置参数可以用来设置背景,调色板等,最为常用。
1 | # tips:在jupyter notebook中,一旦设定了风格,所有图表的创建均自动带有风格,重启服务后才会重置为无风格状态 |
set_style
set_style() :设置主题,即切换seaborn图表风格
Seaborn有五个预设好的主题: darkgrid , whitegrid , dark , white ,和 ticks 默认: darkgrid
1 | fig = plt.figure(figsize = (6,6)) |
despine
despine() :设置图表坐标轴,可以根据需求将坐标轴的展现与否进行设置,更好的讲故事~
1 | # despine() -- 设置图表坐标轴 |
1 | <matplotlib.axes._subplots.AxesSubplot at 0xeddb830> |
axes_style
axes_style() :设置局部图表风格,配合with使用可以很方便的将想要表达的图表更加凸显出来
1 | # with:只在sns这个图表中设置风格,其他图表风格还是与之前设置的一致 |
set_context
set_context() :设置显示的比例尺度,方便在不用显示器或不同分辨率下设置不同的显示比例
seaborn内置四种显示比例:‘paper’ ‘notebook’ ‘talk’ ‘poster’,左往右依次 变大
1 | # 默认为notebook |
调色盘
- seaborn的调色盘用于对图表整体颜色、比例等进行风格设置,包括颜色色板等
- 调色盘分为三类
- Sequential:按顺序渐变的。 - Light colours for low data, dark for high data
- Diverging:彼此之间差异变化较大的。 - Light colours for mid-range data, low and high contrasting dark colours
- Qualitative:这个用于最大程度地显示不同类之间的差别。 - Colours designed to give maximum visual difference between classes
- 一般调用seaborn内置系统风格和简单设置参数即能实现很炫酷的数据可视化
color_palette
seaborn.color_palette(palette=None, n_colors =None, desat =None)
- **palette:None,string或sequence,可选,默认有6种主题:**deep,muted, pastel, bright, dark, colorblind
- n_colors:颜色个数
- desat:每种颜色去饱和的比例
1 | current_palette = sns.color_palette() |
1 | # sns.color_palette(pal, size=1) |
1 | # 分组颜色设置 - 'Paired' |
husl_palette
设置亮度和饱和度
1 | # 设置亮度、饱和度 |
cubehelix_palette
按照线性增长计算,设置颜色
1 | # sns.cubehelix_palette('n_colors=6', 'start=0', 'rot=0.4', 'gamma=1.0', 'hue=0.8', |
dark_palette / light_palette
- 深色/浅色调色板
- seaborn.dark_palette(color,n_colors =6,reverse =False,as_cmap = False,input =‘rgb’)
- color :高值的颜色
- n_colors :颜色个数
- reverse :默认为False
- as_cmap :如果为True,则返回matplotlib colormap;为False,则返回list
- input:{‘rgb’,‘hls’,‘husl’,‘xkcd’}
1 | # dark_palette() / light_palette() |
diverging_palette
diverging_palette :创建分散颜色
1 | # 创建分散颜色 |
应用
热力图
1 | # 例子 |
<matplotlib.axes._subplots.AxesSubplot at 0x5b28c50>
风格演示
1 | sns.set_style('whitegrid') |
总结
本文介绍了python的绘图模块seaborn的基础认知,也就是绘图的基础风格设置与调色盘的基础知识,感谢阅读
本文版权归作者所有,欢迎转载,转载请注明出处和链接来源。