python绘制散点图平滑线
时间: 2024-09-10 17:19:55 浏览: 65
在Python中,可以使用matplotlib库来绘制散点图并添加平滑线。`plt.scatter()`函数用于创建散点图,而`plt.plot()`或`plt.subplots().plot()`可以用来添加平滑线。如果你想对数据进行拟合,还可以使用`scipy.stats`库中的函数,如`lowess`(局部加权回归)或`gaussian_filter1d`等。
下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一些随机数据作为散点
x = np.random.rand(50)
y = np.random.rand(50)
# 绘制散点图
plt.scatter(x, y, color='blue', label='Scatter Data')
# 添加平滑线,这里假设你想对x值进行低阶多项式拟合
smooth_x = np.linspace(min(x), max(x), 400) # 创建更细致的x轴范围
smooth_y = lowess(y, x, frac=0.2)[:, 1] # 使用lowess函数得到平滑曲线
# 绘制平滑曲线
plt.plot(smooth_x, smooth_y, color='red', linestyle='-', label='Smooth Line')
# 设置图例和其他元素
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter plot with Smooth Line')
plt.show()
```
在这个示例中,`frac=0.2` 参数控制了平滑程度,值越小,光滑度越高。
阅读全文