python3对折线图进行平滑处理【matplotlib】【插值法】
BackgroundMatplotlib 是Python中类似 MATLAB 的绘图工具,画图非常方便。平滑滤波是光谱分析中常用的预处理方法之一,处理的方法有很多,这里我们使用make_interp_spline插值法对折线图进行平滑处理。官方帮助文档:scipy.interpolate.make_interp_spline处理前的图处理后的图源码示例import numpy as npfrom
·
Background
- Matplotlib 是Python中类似 MATLAB 的绘图工具,画图非常方便。
- 平滑滤波是光谱分析中常用的预处理方法之一,处理的方法有很多,这里我们使用make_interp_spline插值法对折线图进行平滑处理。
- 官方帮助文档:scipy.interpolate.make_interp_spline
处理前的图
处理后的图
源码示例
import numpy as np
from matplotlib import pyplot as plt
from scipy.interpolate import make_interp_spline
def smooth_xy(lx, ly):
"""数据平滑处理
:param lx: x轴数据,数组
:param ly: y轴数据,数组
:return: 平滑后的x、y轴数据,数组 [slx, sly]
"""
x = np.array(lx)
y = np.array(ly)
x_smooth = np.linspace(x.min(), x.max(), 300)
y_smooth = make_interp_spline(x, y)(x_smooth)
return [x_smooth, y_smooth]
if __name__ == '__main__':
x_raw = [6, 7, 8, 9, 10, 11, 12]
y_raw = [1.53, 5.92, 2.04, 7.24, 2.72, 1.10, 4.70]
xy_s = smooth_xy(x_raw, y_raw)
# 原始折线图
plt.plot(x_raw, y_raw)
plt.show()
# 处理后的平滑曲线
plt.plot(xy_s[0], xy_s[1])
plt.show()
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


目录
所有评论(0)