python基础-seaborn画图工具

本文介绍了Seaborn,一个基于matplotlib的Python数据可视化库,演示了如何使用其简化API创建美观的统计图表,包括sinplot函数、不同画风设置、箱线图示例,以及调色板和风格的运用。Seaborn适用于快速生成专业图表,与Matplotlib互补,尤其适合数据分析与展示。
摘要由CSDN通过智能技术生成

python基础-seaborn画图工具

seaborn-data 数据集官网:https://github.com/mwaskom/seaborn-data

Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。

Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。

代码

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
#定义随机数据函数
def sinplot(flip=1):
    x = np.linspace(0,14,100)
    for i in range(1,7):
        plt.plot(x,np.sin(x + i*.5)*(7-i)*flip)
#默认画风设置
sns.set()
#调用函数
sinplot()
plt.show()
#改变整体风格
sns.set_style("whitegrid")
#sns.set_style("dark")
#sns.set_style("white")
#sns.set_style("ticks")
#sns.despline()
#sns.despline(offset=100)
#sns.despline(left = True)
data = np.random.normal(size=(20,6))+np.arange(6)/2
sns.boxplot(data=data)
plt.show()

#指定位置域,画不同风格
with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1)
plt.show()

sns.set()
sns.set_context("paper")
sns.set_context("talk")
sns.set_context("poster")
sns.set_context("notebook",font_scale=1.5,rc={"lines.linewidth" :2.5})
plt.figure(figsize=(8,6))
sinplot()
plt.show()
#调色版,有六个默认颜色主题

current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()
#利用颜色空间调色,分成8个
sns.palplot(sns.color_palette("hls",8))
data = np.random.normal(size=(20,8))+np.arange(8)/2
sns.boxplot(data=data,palette =sns.color_palette("hls",8))
plt.show()

sns.palplot(sns.color_palette("Paired",8))
plt.show()
#透明度饱和度
#sns.palplot(sns.hls_palette(8,l=.7,s=.9))
#plt.show()

#使用xkcdd颜色来命名颜色,指定固定颜色
plt.plot([0,1],[0,1],sns.xkcd_rgb["pale red"],lw=3)
plt.plot([0,1],[0,2],sns.xkcd_rgb["medium green"],lw=3)
plt.plot([0,1],[0,3],sns.xkcd_rgb["denim blue"],lw=3)
plt.show()

#连续型画板,由深到浅
sns.palplot(sns.color_palette("Blues"))
plt.show()
#由浅到深
sns.palplot(sns.color_palette("BuGn_r"))
plt.show()
#线性变换
sns.palplot(sns.color_palette("cubehelix",8))
plt.show()
#指定不同颜色区间,进行线性变换
sns.palplot(sns.cubehelix_palette(8,start=5,rot=-.75))
plt.show()
sns.palplot(sns.light_palette("green"))
sns.palplot(sns.dark_palette("purple"))
sns.palplot(sns.light_palette("navy",reverse=True))
plt.show()

x,y = np.random.multivariate_normal ([0,0],[[1,.5],[-.5,1]],size=300).T
pal = sns.dark_palette("green",as_cmap=True)
sns.kdeplot(x,y,cmap=pal)
plt.show()
#使用颜色空间
sns.palplot(sns.light_palette((210,90,60),input = "husl"))
plt.show()

总结

Matplotlib是独立点菜,可能费时费心,但最后上桌的菜全是特别适合自己的;而Seaborn是点套餐,特别简单,一切都是配好的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值