绘制实验数据的平滑曲线可以使用Python中的多种库和方法。以下是一个使用numpy
和scipy
库来平滑数据并绘制平滑曲线的示例。
平滑曲线通常用于去除数据中的噪声,使趋势更加明显。常用的方法包括移动平均、多项式拟合和Savitzky-Golay滤波器等。
以下是一个使用Savitzky-Golay滤波器平滑数据并绘制平滑曲线的示例代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import savgol_filter
# 生成一些带有噪声的实验数据
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x) + np.random.normal(0, 0.1, 100)
# 使用Savitzky-Golay滤波器平滑数据
window_length = 51 # 窗口长度,必须是奇数
polyorder = 3 # 多项式阶数
y_smooth = savgol_filter(y, window_length, polyorder)
# 绘制原始数据和平滑后的曲线
plt.figure(figsize=(10, 6))
plt.plot(x, y, label='Original Data', alpha=0.7)
plt.plot(x, y_smooth, label='Smoothed Data', color='red')
plt.title('Smoothing Experiment Data')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()
plt.grid(True)
plt.show()
通过上述方法和代码示例,你可以有效地绘制实验数据的平滑曲线,并根据需要进行参数调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云