文章目录
首先还是要导入库:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as sci
风格及边框等格式设置
seaborn自带五种风格,分别是:
- darkgrid # 背景深色,有网格线
- whitegrid # 背景白色,有网格线
- dark # 背景深色,没有网格线
- white # 背景白色,没有网格线
- ticks # 背景白色,没有网格线,有刻度线
可以通过以下代码调用:
sns.set(style='')
sns.set_style('')
坐标轴操作
- 默认去掉右侧和上侧边框
sns.despine()
- 设置图形与轴线的距离
sns.despine(offset=10)
- 保留下轴,删除左轴
sns.despine(left=True,bottom=False)
画图元素的比例大小
有四种选择,从细到粗依次是:
- paper
- notebook
- talk
- poster
调用代码:
sns.set_context('')
# 也可以进一步设定字体和线条大小
sns.set_context('notebook', font_scale=1.5, rc={
'lines.linewidth': 2.5})
颜色设置
分类色板
seaborn默认的颜色主题有10种。
current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()
圆形画板
- 分类较多且希望使用不同颜色的时候,最简单的就在圆形画板上等分取色,这样会使得色调和饱和度总体一致,达到美观。
- 最常用的方法是使用hls的颜色空间,这是RGB值的一个简单转换。
data = np.random.normal(size=(200, 12)) + np.arange(12) / 2
sns.boxplot(data=data, palette=sns.color_palette('hls', 12)) # 这里如果不写12,图像显示为两组、六种颜色
plt.show()
亮度和饱和度
hls_palette()函数:
- 第一个参数为生成颜色个数
- l-亮度 lightness
- s-饱和 saturation
sns.palplot(sns.hls_palette(12, l=.7, s=.9))
plt.show()
sns.palplot(sns.hls_palette(15, l=.2, s=.3))
plt.show()
连续色板
同色系的颜色逐渐变深或逐渐变浅。
sns.color_palette()
sns.palplot(sns.color_palette('Blues',10))
sns.palplot(sns.color_palette('Blues_r',10))
sns.light_palette()
sns.dark_palette()
圆板连续调色
sns.cubehelix_palette(, start=, rot=-)
- 第一个为生成颜色个数,start圆形调色板开始值,rot圆形调色板旋转的范围