5. 绘图可视化之Seaborn [ Powerful Matplotlib Extension ]
与matplotlib相比,Seaborn的优势在哪里?
Matplotlib是最基础的可视化库。
Seaborn是基于Matplotlib的高级可视化效果库。Seaborn可以简介的代码去绘制描述更多维度数据的可视化效果图。
-
间接调用matplotlib:
sns.plt.plot()
-
直方图和密度图
s1 = Series(np.random.randn(1000))
-
distplot():集合了matplotlib的hist()与核函数估计kdeplot的功能
sns.distplot(s1, hist=True, kde=True, rug=True)
-
kdeplot():核密度估计图
sns.kdeplot(s1)
-
rugplot():分布观测条
sns.rugplot(s1)
-
-
柱状图和热力图
-
load_dataset() 网络Seaborn仓库获取数据
# 通过网络仓库获取数据 df = sns.load_dataset('flights') -------------------------------- year month passengers 0 1949 January 112 1 1949 February 118 2 1949 March 132 3 1949 April 129 4 1949 May 121
-
透视表加工数据
# 建立透视表,加工原始数据 df = df.pivot(index='month', columns='year', values='passengers')
-
热力图:heatmap()
# 热力图 # annot(annotate的缩写):默认取值False;如果是True,在热力图每个方格写入数据; # 如果是矩阵,在热力图每个方格写入该矩阵对应位置数据 # fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字 sns.heatmap(df, annot=True, fmt='d')
-
柱状图:barplot()
# 柱状图 # 按照年份筛选出每年乘客总数目 sns.barplot(x=df.sum().index, y=df.sum().values)
-
-
设置图形显示效果
-
主题设置:set_style()
style = ['darkgrid', 'dark', 'white', 'whitegrid', 'ticks'] sns.set_style(style[2], {'grid.color': 'red'})
-
主题参数查看:axes_style() 选定参数以dict字典形式传入set_style()方法即可
-
清空当前配置:set()
-
上下文参数设置:set_context()
context = ['paper', 'notebook', 'talk', 'poster'] sns.set_context(context[3])
-
上下文参数查看:plotting_context() 选定参数以dict字典形式传入set_context()方法参数rc即可
-
-
调色功能
-
RGB调色板:color_palette()
sns.color_palette()
-
调色板展示:sns.palplot(sns.color_palette())
sns.palplot(sns.color_palette())
-
调色板风格:deep,muted,pastel,bright,dark,colorblind
-
设置色板:set_palette()
pal_style = ['deep','muted','pastel','bright','dark','colorblind'] sns.palplot(sns.color_palette('muted'))
# 设置色板风格为 dark sns.set_palette('dark')
#默认风格:
-
清空当前配置:set()
-
临时更改色板:仅限with语句中使用
with sns.set_palette('dark'): sinplot()
-
扩充色板色域:
- sns.color_palette([(R1,G1,B1), (R2,G2,B2)…])
- sns.color_palette(‘hls’, 8) # 生成8中颜色的调色色板
-