【数据分析与可视化】Seaborn库简介及风格设置详解(图文解释 超详细)

需要源码和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()

创作不易 觉得有帮助请点赞关注收藏~~~

  • 13
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值