需要源码和PPT请点赞关注收藏后评论区留言私信~~~
一、Seaborn简介
Matplotlib绘图基本模仿MATLAB绘图库,其绘图风格和MATLAB类似。由于MATLAB绘图风格偏古典,因此,Python开源社区开发了Seaborn绘图模块,对Matplotlib进行封装,绘图效果更符合现代人的审美
Seaborn属于Matplotlib的一个高级接口,使得作图更加容易。在多数情况下使用Seaborn能做出很具吸引力的图,而使用Matplotlib可以制作具有更多特色的图。应该把Seaborn视为Matplotlib的补充,而不是替代物
使用Seaborn时,使用的导入惯例为
import seaborn as sns
Seaborn中共有5个大类21种绘图,如图7-1所示
二、风格设置
1. Seaborn 绘图设置
风格设置用以设置绘图的背景色、风格、字型、字体等
Seaborn通过set函数实现风格设置
seaborn.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=True, rc=None)
绘制曲线
import seaborn as sns import numpy as np import matplotlib.pyplot as plt def sinplot(flip = 2): x = np.linspace(0,20, 50) for i in range(1,5): plt.plot(x, np.cos(x + i * 0.8) * (9 - 2*i) * flip) sinplot()
运行结果为Matplotlib默认参数下的绘制风格,也可以使用seaborn.set进行风格设置
Seaborn设置风格
sns.set(style = 'darkgrid',font_scale = 1.5) sinplot()
如果需要转换为Seaborn默认的绘图设置 只需要调用sns.set方法即可
Seaborn默认风格
sns.set() sinplot()
2.Seaborn主题设置
利用set_style( )是用来设置主题的
Seaborn有五个预设好的主题: darkgrid, whitegrid,dark,white,和 ticks,默认为darkgrid
Seaborn将matplotlib的参数划分为两个独立的组合。第一组是设置绘图的外观风格的,第二组主要将绘图的各种元素按比例缩放的,以至可以嵌入到不同的背景环境中。控制这些参数的接口主要有两对方法
控制风格:axes_style(), set_style()
缩放绘图:plotting_context(), set_context()
每对方法中的第一个方法(axes_style(), plotting_context())会返回一组字典参数,而第二个方法(set_style(), set_context())会设置matplotlib的默认参数
主题设置
sns.set_style("white") sinplot()
在seaborn中,可以利用despine()方法移除绘图中顶部和右侧的轴线
sinplot() sns.despine()
despine()方法中可以利用offset参数讲轴线进行偏置,另外,当刻度没有完全覆盖整个坐标轴的的范围时,利用trim参数限制已有坐标轴的范围
sinplot() sns.despine(offset = 20, trim = True)
也可以通过despine()控制哪个脊柱将被移除
移除轴线
sinplot() sns.despine(left = True)
除了选用预设的风格外,可以利用with 语句使用axes_style()方法设置临时绘图参数,可以在一张图片中采用多种绘图风格
设置临时绘图参数
with sns.axes_style("darkgrid"): plt.subplot(2,1,1) sinplot( ) plt.subplot(2,1, 2) sinplot(-1)
利用字典传递参数
sns.set_style("darkgrid", {"axes.facecolor": ".9"}) sinplot()
3.设置绘图元素比例poster
seaborn中通过set_context()设置缩放参数,预设的参数有paper, notebook, talk, poster。默认为notebook
设置绘图元素比例paper
sns.set_context("paper") sinplot()
设置绘图元素比例poster
sns.set_context("poster") sinplot()
设置绘图元素比例notebook
sns.set_context("notebook", font_scale = 1.8, rc = {"lines.linewidth": 1.5}) sinplot()
创作不易 觉得有帮助请点赞关注收藏~~~