python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图

这篇具有很好参考价值的文章主要介绍了python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. seaborn

旧版本(0.8.1)中使用tsplot,新版本中使用lineplot
直线代表均值,阴影代表mean±std(带有置信区间,参数ci)

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
sns.set()


def smooth(data, wd=2):
    """
    :param data: ndarray,一维或二维
    :param wd:
    :return:
    """
    if not (isinstance(wd, int) and wd > 0):
        raise ValueError('wd must be a positive integer')
    elif 1 == wd:
        return data
    else:
        weight = np.ones(wd) / wd
        if 1 == data.ndim:
            return np.convolve(weight, data, "same")
        elif 2 == data.ndim:
            smooth_data = []
            for d in data:
                d = np.convolve(weight, d, "same")
                smooth_data.append(d)
            return np.array(smooth_data)
        else:
            raise ValueError('data must be a one-dimensional or two-dimensional ndarray')


def get_data():
    returns1 = np.random.random((4, 100))        # 算法1,四个随机种子
    returns2 = np.random.random((4, 100)) + 1
    returns3 = np.random.random((4, 100)) + 2
    returns1 = smooth(returns1, 2)
    returns2 = smooth(returns2, 2)
    returns3 = smooth(returns3, 2)
    return returns1, returns2, returns3


np.random.seed(11)
data = get_data()
label = ['algo1', 'algo2', 'algo3']
df=[]
ax = range(10, 100+10)   # x轴刻度
for i in range(len(data)):
    df.append(pd.DataFrame(data[i], columns=ax).melt(var_name='episode',value_name='return'))
    df[i]['algo'] = label[i]
df=pd.concat(df, ignore_index=True)
# print(df)
sns.lineplot(x="episode", y="return", hue="algo", data=df)
plt.legend(loc='upper right')
# 'best', 'upper right', 'upper left', 'lower left', 'lower right',
#             'right', 'center left', 'center , right', 'lower center', 'upper center', 'center')
plt.title("")
plt.show()

#
# import seaborn as sns
# import matplotlib.pyplot as plt
# fmri = sns.load_dataset("fmri")
# fmri.head()
#
# sns.lineplot(data=fmri, x="timepoint", y="signal", hue="event")
# plt.show()

不进行平滑处理
带标准差阴影光谱曲线,数据处理,python,开发语言
平滑处理
带标准差阴影光谱曲线,数据处理,python,开发语言

matplotlib

画mean+/- standard deviation(std)的曲线图。

  1. 导入需要的库:matplotlib

  2. 用matplotlib.pyplot画均值曲线(图里的实线)

  3. 根据方差,用“fill_between”命令设定要填充曲线的上下限

  4. 用“fill”命令填充(图里的阴影部分)

(曲线颜色及线条粗细,填充颜色以及透明度都是在命令名后的括号里定义)
展示的结果图里画了三组数据,每组数据画法相同

带标准差阴影光谱曲线,数据处理,python,开发语言
带标准差阴影光谱曲线,数据处理,python,开发语言文章来源地址https://www.toymoban.com/news/detail-818159.html

到了这里,关于python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python求列表list平均值的方法

    python内置了两个函数,sum()和len()方法,其中sum()可以用于求取列表的元素和,len()函数可以用于求取列表list元素的个数,由此,利用python求列表list平均值的方法和步骤就脱颖而出了:第一步,使用sum()求元素和;第二步,使用len()求元素个数;第三步,分装为一个函数,方便

    2024年02月11日
    浏览(33)
  • python输入任意多个数,用逗号隔开,求平均值

    str = input() lst = str.split(\\\",\\\") s = 0 avg = 0 for x in list(lst): s += int(x) avg = s/len(list(lst))*1.0 print(“它们的平均值是%.3f”%(avg)) 这个版本可以正确计算平均值: 但是以下版本就不行: str = input() lst = str.split(\\\",\\\") i = 0 s = 0 avg = 0 while i = len(lst)+1: s += int(lst.pop()) i += 1 print(s,i) avg = s/(i+1)*1.0

    2023年04月09日
    浏览(42)
  • Python在Excel中,如何按行求平均值

    首先,我们需要使用Python中的第三方库 openpyxl 来读取和写入Excel文件。如果您还没有安装该库,可以通过运行命令 pip install openpyxl 来进行安装。 接下来,我们需要打开Excel文件,并选择要进行操作的工作表。请确保您已将Excel文件放在正确的路径下,并且知道要操作的工作表

    2024年02月16日
    浏览(38)
  • 「Python 编程必学」三种简单易用的方法计算平均值

    计算平均值是计算机编程中最基本的操作之一,Python 提供了多种方法来实现这个操作。下面我将介绍三种方法来计算平均值: 使用 for 循环遍历列表,累加所有元素的值,最后除以列表的长度即可得到平均值。 Python 的内置函数 sum 可以直接计算列表中所有元素的和,只需将

    2024年02月06日
    浏览(44)
  • 各种平均值:算术平均值,几何平均值,调和平均值等

    平均值概述 平均数反映了一组数据的一般水平,最常见的平均数是算术平均数,除了算数平均数外,还有几何平均数,调和平均数,加权平均数等。 算术平均值(Arithmetic Mean) 公式解读:表示为所有项之和再除以总数。 应用场景:算术平均值是我们生活中最常见的平均值,

    2024年02月11日
    浏览(26)
  • chatgpt赋能python:Python平均值命令在数据处理中的应用

    Python是一门广泛应用于数据分析和数据处理的编程语言。在数据处理中,我们常常需要计算数据的平均值。Python中提供了多种方法来计算平均值,比如使用内置函数mean()或使用numpy库中的mean()函数等。本文将着重介绍Python平均值命令在数据处理中的应用。 在Python中,可以使用

    2024年02月08日
    浏览(37)
  • chatgpt赋能python:Python平均值:让你的数据更有说服力

    作为一个有10年Python编程经验的工程师,我非常熟悉Python程序的各种应用。其中,计算平均值是数据分析中最常用的计算方法之一,而Python作为一种广泛应用的语言,也可以轻松地处理平均值的计算。 在统计学中,平均值是一组数字的中心值,通常指数学平均值。也就是说,

    2024年02月08日
    浏览(37)
  • 【2465. 不同的平均值数目】

    来源:力扣(LeetCode) 描述: 给你一个下标从 0 开始长度为 偶数 的整数数组 nums 。 只要 nums 不是 空数组,你就重复执行以下步骤: 找到 nums 中的最小值,并删除它。 找到 nums 中的最大值,并删除它。 计算删除两数的平均值。 两数 a 和 b 的 平均值 为 (a + b) / 2 。 比方说,

    2024年02月07日
    浏览(27)
  • 【数据处理】Python:实现求条件分布函数 | 求平均值方差和协方差 | 求函数函数期望值的函数 | 概率论

         猛戳订阅!  👉 《一起玩蛇》🐍 💭 写在前面: 本章我们将通过 Python 手动实现条件分布函数的计算,实现求平均值,方差和协方差函数,实现求函数期望值的函数。部署的测试代码放到文后了,运行所需环境 python version = 3.6,numpy = 1.15,nltk = 3.4,tqdm = 4.24.0,sci

    2024年02月05日
    浏览(37)
  • Verilog实现FPGA平均值计算

    Verilog实现FPGA平均值计算 在数字电路设计中,计算平均值是一个非常基础的操作。本文将通过Verilog语言来实现在FPGA中计算一个数据流的平均值。 首先,我们需要定义一个计数器和一个累加器来分别记录输入数据流的总数和总和。这里我们使用32位的寄存器作为计数器和累加

    2024年02月03日
    浏览(115)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包