gpt4 book ai didi

python - 如何让这个 matplotlib 情节不那么嘈杂?

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:17 25 4
gpt4 key购买 nike

如何在不考虑每个单独值的情况下用平滑、连续的线条绘制以下噪声数据?我只想以更好的方式展示行为,而不关心嘈杂和极端值。这是我正在使用的代码:

import numpy
import sys
import matplotlib.pyplot as plt
from scipy.interpolate import spline

dataset = numpy.genfromtxt(fname='data', delimiter=",")

dic = {}

for d in dataset:
dic[d[0]] = d[1]

plt.plot(range(len(dic)), dic.values(),linestyle='-', linewidth=2)

plt.savefig('plot.png')
plt.show()

plot

最佳答案

previous answer 中,我被介绍给Savitzky Golay filter ,一种特殊类型的低通滤波器,非常适合数据平滑。您希望生成的曲线有多“平滑”是一个偏好问题,这可以通过窗口大小和插值多项式的阶数进行调整。使用 sg_filter 的食谱示例:

import numpy as np
import sg_filter
import matplotlib.pyplot as plt


# Generate some sample data similar to your post
X = np.arange(1,1000,1)
Y = np.log(X**3) + 10*np.random.random(X.shape)

Y2 = sg_filter.savitzky_golay(Y, 101, 3)

plt.plot(X,Y,linestyle='-', linewidth=2,alpha=.5)
plt.plot(X,Y2,color='r')

plt.show()

enter image description here

关于python - 如何让这个 matplotlib 情节不那么嘈杂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22913670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com