python matplotlib 折线图 使画出来的折现平滑
时间: 2023-05-29 10:02:40 浏览: 1299
可以使用平滑函数来使得绘制的折线图平滑。常见的平滑函数有移动平均法、Loess拟合法等。下面以移动平均法为例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
x = np.linspace(0,10,100)
y = np.sin(x)
# 绘制折线图
plt.plot(x, y, label="sin(x)")
# 定义移动平均函数
def moving_average(data, window_size):
window = np.ones(int(window_size))/float(window_size)
return np.convolve(data, window, 'valid')
# 平滑处理
y_smooth = moving_average(y, 10)
# 绘制平滑后的折线图
plt.plot(x[len(x)-len(y_smooth):], y_smooth, label="smooth")
# 设置图例
plt.legend()
# 显示图像
plt.show()
```
运行结果如下:
![smooth_line_chart](https://img-blog.csdn.net/20170728115043761?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvS2FtaWkxOTk4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)
可以看到,利用移动平均法对折线图进行平滑处理后,图形变得更加平滑。
阅读全文