欢迎访问宙启技术站
智能推送

利用matplotlib库绘制平滑曲线

发布时间:2023-12-17 15:18:48

matplotlib是一个Python的数据可视化库,可以用来绘制各种类型的图形,包括线图、柱状图、散点图等等。在绘制平滑曲线时,一种常用的方法是使用曲线拟合算法,将原始数据点通过一条平滑的曲线连接起来,以更直观地展示数据的趋势。

下面是使用matplotlib库绘制平滑曲线的一个例子:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
x = np.linspace(0, 10, 100)
y = np.sin(x) + np.random.rand(100)

# 绘制原始数据点
plt.scatter(x, y, label='原始数据点')

# 使用曲线拟合算法绘制平滑曲线
p = np.polyfit(x, y, deg=3)  # 使用3阶多项式拟合
y_smooth = np.polyval(p, x)  # 计算拟合曲线的y值

# 绘制平滑曲线
plt.plot(x, y_smooth, color='red', linewidth=2, label='平滑曲线')

# 设置图形标题和坐标轴标签
plt.title('平滑曲线示例')
plt.xlabel('x轴')
plt.ylabel('y轴')

# 显示图例
plt.legend()

# 显示图形
plt.show()

在这个例子中,我们首先使用np.linspace函数生成了一个包含100个元素的等差数列,作为x轴的坐标值。然后,使用np.sin函数生成一个与x轴坐标值对应的y轴坐标值,并加上一些随机噪声。

接着,我们使用plt.scatter函数绘制了原始数据点的散点图。然后,使用np.polyfit函数对原始数据进行拟合,这里使用了3阶多项式进行拟合,得到了拟合曲线的参数。

最后,使用np.polyval函数计算了拟合曲线上的y值,并使用plt.plot函数绘制了平滑曲线。通过设置color参数可以指定曲线的颜色,设置linewidth参数可以指定曲线的宽度。

最后,我们使用plt.titleplt.xlabelplt.ylabel函数设置了图形的标题和坐标轴标签,使用plt.legend函数显示了图例,使用plt.show函数显示图形。

这个例子展示了如何使用matplotlib库绘制平滑曲线,并通过调整多项式的阶数可以得到不同程度的拟合效果。利用这个方法,我们可以更直观地展示数据的趋势,从而更好地理解数据的特征和规律。