Python数据分析第十一课:初识Seaborn

本文介绍Python中的Seaborn库,一个基于Matplotlib的高级数据可视化工具。内容涵盖Seaborn的基本概念、风格设置(如context、style、palette等)、调色板与颜色定制,以及如何为子图设定不同风格。文章通过实例展示了Seaborn如何创建美观的数据图表,并提供了练习以巩固所学知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面我们学习了Pandas如何处理数据以及用Matplotlib对数据进行可视化,在今天的课程中我们再来感受一个更具魅力的绘图工具,它叫做Seaborn。

一、Seaborn简介

Seaborn 是基于 Python 且非常受欢迎的图形可视化库,并且在 Matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷。可以通过极简的代码,做出具有分析价值而又十分美观的图形。

我们先来看一下Seaborn绘制的图形。
在这里插入图片描述
在这里插入图片描述

首先,我们来了解一下seanborn.set()函数:

import seaborn as sns
sns.set(context='notebook',style='darkgrid',palette='deep',font='sans-serif'.font_scale=1,color_code=True)
  • context:该参数控制着默认的画幅大小,分别有{papper,notebook,talk,poster}四个值。其中,poster>talk>notebook>paper。
  • style:该参数控制默认样式,分别有{darkgrid,whitegrid,dark,white,ticks},可以自行更改查看他们之间的不同。
  • palette:该参数为预设的调色板,分别有{deep,muted,bright,pastel,dark,colorblind}等,可以自行更改查看他们之间的不同。
  • font:设置字体。
  • font_scale:设置字体大小。
  • color_code:不是用调色板而采用先前的“r”等色彩缩写。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def sinplot():
    x = np.linspace(0,15,num=100)
    for i in range(1,3):
        plt.plot(x,np.sin(x+i))      

sinplot()

在这里插入图片描述

接下来,我们调用sns.set()函数来改变style,看看效果如何:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def sinplot():
    x = np.linspace(0,15,num=100)
    for i in range(1,3):
        plt.plot(x,np.sin(x+i))
sns.set()        
sinplot()
plt.show()

在这里插入图片描述

根据结果,我们添加了sns.set()方法后,图形添加了网格,而且隐藏了坐标轴。

二、Seaborn风格设置

那么,问题来了,有人会说,这个set()函数这么多参数,只要改变其中任意一个参数的值,绘图效果就会发生变化,那我们怎么知道哪种搭配是最佳效果呢,难道我们要一个个去测试吗?

当然不是,seaborn提供了5种默认的风格,我们在实际绘图中只要选择一种喜欢的风格就可以了,下面我们就看看这5种风格的用法及效果。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def sinplot():
    x = np.linspace(0,15,num=100)
    for i in range(1,3):
        plt.plot(x,np.sin(x+i))
sns.set(style='white')        
sinplot()
plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def sinplot():
    x = np.linspace(0,15,num=100)
    for i in range(1,3):
        plt.plot(x,np.sin(x+i))
sns.set(style='whitegrid')        
sinplot()
plt.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值