seaborn

import matplotlib as mpl
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import random
使用默认模板
sns.set()
plt.figure()
x=np.linspace(0,14,100)
phase=np.linspace(1,2.5,25)
for i in phase:
    plt.plot(x,np.sin(x+i*np.pi))
plt.show()

用seaborn模板更好看

主题风格

darkgrid、whitegrid、dark、white、ticks
darkgid黑色带有刻度线
ticks刻度线突出

sns.set_style("ticks")
dt=np.random.normal(size=(20,6))+np.arange(6)/2
sns.boxplot(data=dt)

箱线图

去除右边和上边的边界线

注:sns.despine()要在画完图后执行

sns.set_style("ticks")
plt.plot(x,np.sin(x+2*np.pi))
sns.despine()

上界和右界消失

调整上界和下界
sns.violinplot(dt)
sns.despine(offset=10)

小提琴图

去掉指定边界的轴
sns.set_style("ticks")
sns.boxplot(data=dt,palette="deep")
sns.despine(left=True)

在这里插入图片描述

暂时使用另一种风格
with sns.axes_style("dark"):
    plt.subplot(211)
    plt.plot(x,np.sin(x+2*np.pi))
plt.subplot(212)
plt.plot(x,np.sin(x+1*np.pi))

在这里插入图片描述

调整整体内容的大小

有paper、notebook、talk、poster(分别从小到大)

sns.set_context("paper")
plt.plot(x,np.sin(x+1*np.pi))

在这里插入图片描述

调整更具体的内容

如字体、线的粗细

sns.set_context("notebook",font_scale=1.5,rc={"lines.linewidth":2.5})
plt.plot(x,np.sin(x+1*np.pi))

在这里插入图片描述

设置调色板color_palette()

设置默认颜色set_palette()
6种默认的颜色循环主题:
deep、muted、pastel、bright、dark、colorblind

color_palette=sns.color_palette()
sns.palplot(color_palette)

在这里插入图片描述

圆形画板

通常使用hls的颜色空间,是RGB的一个简单的转换

sns.palplot(sns.color_palette("hls",8))
dt=pd.DataFrame(np.random.normal(size=(20,8))+np.arange(1,9))
sns.boxplot(data=dt,palette=sns.color_palette("hls",8))

在这里插入图片描述

hls_palette设置饱和度和亮度
sns.palplot(sns.hls_palette(7,h=0.5,l=0.6))

在这里插入图片描述

当颜色需要对比时,可以使用Paired
sns.palplot(sns.color_palette("Paired",8))

在这里插入图片描述

xkcd一组命名颜色
plt.figure()
plt.plot([0,1],[0,1],sns.xkcd_rgb["pale red"],lw=2)
plt.plot([0,1],[0,2],sns.xkcd_rgb["medium green"],lw=2)
plt.plot([0,1],[0,3],sns.xkcd_rgb["denim blue"],lw=2)
plt.show()

在这里插入图片描述

颜色变化是渐变的,越来越深
sns.palplot(sns.color_palette("Blues"))
若需要越来越浅,则加后缀"_r"
sns.palplot(sns.color_palette("BuGn_r"))    
色彩线性变换cubehelix_palette()
sns.palplot(sns.color_palette("cubehelix",8))
sns.palplot(sns.cubehelix_palette(8,start=0.5,rot=.75))
sns.palplot(sns.cubehelix_palette(8,start=0.8,rot=.75))
light_palette()和dark_palette()调连续性颜色
sns.palplot(sns.light_palette("blue",5))
sns.palplot(sns.dark_palette("blue",5))
sns.palplot(sns.light_palette("blue",5,reverse=True))
x,y=np.random.multivariate_normal([0,0],[[1,-0.5],[-0.5,1]],size=300).T
pal=sns.light_palette("green",as_cmap=True)
sns.kdeplot(x,y,cmap=pal)
sns.palplot(sns.light_palette((210,90,60),input="husl"))
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值