Seaborn——主题风格

Matplotlib风格展示

安装必要的包

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline  # 为了让图形展示出来
//  定义一个函数
def sinplot(filp=1):
    x=np.linspace(0,14,100)
    for i in range(1,7):
        plt.plot(x,np.sin(x +i *0.5)*(7-i)*filp)
 
 sinplot()

在这里插入图片描述
就可以得出图形了,下面用默认组合:

sns.set()   // 用seaborn默认组合
sinplot()

在这里插入图片描述
Seaborn中有5种主题风格,分别为

darkgrid
wightegrid
dark
white
ticks

sns.set_style("darkgrid")
sinplot()

在这里插入图片描述

sns.set_style("whitegrid")
sinplot()

在这里插入图片描述

darkgridwightegrid 形式,除了在背景上存在区别,均是具有网格的形式。

sns.set_style("dark")
sinplot()

在这里插入图片描述
dark风格将线条全部清除,显示出深色背景的形式。

sns.set_style("white")
sinplot()

在这里插入图片描述
white相较于dark背景颜色更浅。

sns.set_style("ticks")
sinplot()

在这里插入图片描述
ticks的刻度线更加清晰。如果你想把上述图形改成坐标的形式,可以使用以下形式:

sinplot()
sns.despine()

在这里插入图片描述
上述主题的具体选定可根据个人爱好,进行选择。

### Seaborn 数据可视化 Python 库 使用方法 示例 #### 创建环境并安装依赖包 为了使用 Seaborn 进行数据可视化,首先需要确保环境中已安装必要的库。可以通过 pip 或 conda 来完成这些操作。 ```bash pip install seaborn matplotlib pandas numpy ``` 或者使用 Conda: ```bash conda install seaborn matplotlib pandas numpy ``` #### 导入所需模块 在开始之前,先导入所需的 Python 模块以及设置显示风格以便更好地呈现图形效果[^1]。 ```python import seaborn as sns import matplotlib.pyplot as plt sns.set_theme(style="darkgrid") # 设置默认主题样式 ``` #### 加载示例数据集 Seaborn 自带了一些有趣的数据集可以直接加载用于测试目的;这里选取 `tips` 数据集作为演示对象之一[^2]。 ```python # Load the example tips dataset from seaborn's built-in datasets. tips = sns.load_dataset("tips") print(tips.head()) ``` #### 绘制基础散点图 利用关系图 (relplot) 函数可以轻松地制作出高质量的关系型图表,在此我们尝试构建总账单金额与小费之间的关联情况。 ```python plt.figure(figsize=(8, 6)) sns.relplot(x='total_bill', y='tip', data=tips); plt.title('Total Bill vs Tip') plt.show() ``` #### 添加分类变量增强表达力 进一步扩展上述图表,加入第三个维度——性别差异,使得每种颜色代表不同类别的顾客群体。 ```python plt.figure(figsize=(8, 6)) sns.relplot(x='total_bill', y='tip', hue='sex', style='smoker', markers=True, data=tips) plt.title('Total Bill vs Tip by Sex and Smoking Status') plt.show() ``` #### 利用分布图展示数值特征 除了观察两个连续变量间的关系外,还可以借助 distplot() 方法查看单一列内值的频率分布状况。 ```python plt.figure(figsize=(8, 6)) sns.histplot(data=tips, x="total_bill", kde=True, bins=30) plt.title('Distribution of Total Bills') plt.show() plt.figure(figsize=(8, 6)) sns.kdeplot(data=tips['tip'], shade=True) plt.title('Density Plot for Tips') plt.show() ``` #### 复杂多面网格布局 最后介绍一种更为复杂但也非常实用的功能:FacetGrid 可以帮助快速生成多个子图组成的矩阵形式视图,方便对比分析不同类型样本间的异同之处。 ```python g = sns.FacetGrid(tips, col="time", row="smoker") g.map(sns.scatterplot, "total_bill", "tip").add_legend(); plt.suptitle('Scatter Plots Faceted on Time and Smoker Status', y=1.02) plt.tight_layout() plt.show() ``` 通过以上几个例子可以看出,Seaborn 提供了一套简洁而强大的 API 接口来实现各类常见乃至较为复杂的统计图形绘制需求,极大地方便了开发者们的工作流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值