怎么用python绘制带平滑曲线的散点图
时间: 2024-10-17 16:11:36 浏览: 62
python利用插值法对折线进行平滑曲线处理
5星 · 资源好评率100%
在Python中,可以使用matplotlib库来绘制带平滑曲线的散点图,通常通过`plt.scatter`函数生成散点图,然后利用`plt.plot`或`sns.lineplot`进行线性拟合。这里是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# 创建数据点
x = np.linspace(0, 10, 100)
y = np.sin(x) + np.random.normal(0, 0.5, size=100)
# 绘制散点图
plt.scatter(x, y, color='blue', alpha=0.7)
# 添加平滑曲线(例如线性拟合)
sns.regplot(x=x, y=y, scatter=False, line_kws={'color': 'red', 'linestyle': '-'})
# 显示图形
plt.title('Scatter plot with smooth curve')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
```
在这个例子中,我们首先创建了一些随机分布的数据点,并用蓝色散点表示。然后使用`sns.regplot`函数对数据点进行线性拟合,得到一条红色平滑曲线。
如果你想自定义拟合模型,例如使用高斯核光滑(KDE),可以考虑使用`KernelDensity`:
```python
from sklearn.neighbors.kde import KernelDensity
kde = KernelDensity(kernel='gaussian').fit(x[:, None])
density = kde.score_samples(x[:, None])
plt.fill_between(x, density, alpha=0.5, color='green') # 用绿色填充密度区间的部分
```
阅读全文