Python论文绘图利器seaborn.lineplot

Python论文绘图利器seaborn.lineplot

提示:前言
Python论文绘图利器seaborn.lineplot


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、导入包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme(style="darkgrid")
sns.set()

具体参数如下

seaborn.lineplot(data=None, *, x=None, y=None, hue=None, size=None, style=None, units=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, dashes=True, markers=None, style_order=None, estimator='mean', errorbar=('ci', 95), n_boot=1000, seed=None, orient='x', sort=True, err_style='band', err_kws=None, legend='auto', ci='deprecated', ax=None, **kwargs)

二、加载数据

阅读此链接上可用的原始数据集(作为数据框)

https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud.

# 该flights数据集有 10 年的月度航空公司乘客数据:

flights = sns.load_dataset("flights")
flights.head()

Color Palette

要使用长格式数据绘制线图,请分配x和y变量:

may_flights = flights.query("month == 'May'")
sns.lineplot(data=may_flights, x="year", y="passengers")

在这里插入图片描述

将数据框转换为宽格式表示:

flights_wide = flights.pivot("year", "month", "passengers")
flights_wide.head()

在这里插入图片描述
要绘制单个向量,请将其传递给data. 如果向量是 a pandas.Series,它将根据其索引绘制:

sns.lineplot(data=flights_wide["May"])

在这里插入图片描述

传递整个宽格式数据集,data为每一列绘制一条单独的线:

sns.lineplot(data=flights_wide)

在这里插入图片描述

三、区间可视化

以长格式模式传递整个数据集将聚合重复值(每年)以显示平均值和 95% 置信区间:

sns.lineplot(data=flights, x="year", y="passengers")

在这里插入图片描述

每个语义变量也可以表示不同的列。为此,我们需要一个更复杂的数据集:

fmri = sns.load_dataset("fmri")
fmri.head()

在这里插入图片描述
即使使用语义分组,重复观察也会聚合:

sns.lineplot(data=fmri, x="timepoint", y="signal", hue="event")

在这里插入图片描述
分配hue和style来表示两个不同的分组变量:

sns.lineplot(data=fmri, x="timepoint", y="signal", hue="region", style="event")

在这里插入图片描述
分配style变量时,可以使用标记代替(或连同)破折号来区分组:

sns.lineplot(
    data=fmri,
    x="timepoint", y="signal", hue="event", style="event",
    markers=True, dashes=False
)

在这里插入图片描述
展现残差图

sns.lineplot(
    data=fmri, x="timepoint", y="signal", hue="event", err_style="bars", errorbar=("se", 2),
)

在这里插入图片描述
分配units变量将在不应用语义映射的情况下绘制多条线:

sns.lineplot(
    data=fmri.query("region == 'frontal'"),
    x="timepoint", y="signal", hue="event", units="subject",
    estimator=None, lw=1,
)

在这里插入图片描述

四、更多精彩内容

参考:https://seaborn.pydata.org/generated/seaborn.lineplot.html#seaborn-lineplot
http://www.deeprlhub.com/d/114
https://blog.csdn.net/weixin_43483381/article/details/115209576
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python量化投资、代码解析与论文精读

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

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

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

打赏作者

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

抵扣说明:

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

余额充值