python - 如何在 Pyplot 中获得平滑的平均曲线
问题描述
所以 Tensorboard 有这个很好的平滑功能,你可以用阴影颜色绘制原始曲线,并在顶部绘制纯色的平滑版本:
我怎样才能用 Pyplot 做到这一点?此功能是发现平滑曲线趋势和阴影原始曲线差异的关键。虽然 Tensorboard 非常有限,所以我想在 matplot lib 中重新创建外观。有任何想法吗?
注意我不想在数据点之间“插值”,差异太大。
解决方案
您可以使用rolling
pandas 的 -object。有了这个,您可以定义一个特定大小的窗口来滚动您的数据,然后您可以使用它来计算平均值、总和或其他任何东西。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
t = np.linspace(0, 1.5*np.pi, 2500)
y = np.sin(t**2)+np.random.random(2500)*.6
df = pd.DataFrame(y)
plt.plot(df[0], 'lightblue', df[0].rolling(10).mean(), 'b')
推荐阅读
- java - 简单的 docker-compose 来执行一个 Jar
- python - 在 Django 中出现错误:匹配的查询不存在
- python - 使用python从s3下载特定日期之后的所有文件?
- javascript - 有没有办法在标题案例方法中忽略首字母缩写词?
- csv - 如何在 pyspark 中使用模式读取 csv
- android-studio - 安装 Android Studio 后,VS Mac 无法调试我的 Xamarin Android 应用程序
- asp.net-mvc - Meaning Of Environment Variables in Asp.Net core
- javascript - Jasmine 单元测试:ngModelChange 是否调用函数
- python - 访问字典中的值
- macos - 连接在 MAC 上运行的 Docker