matplotlib库疑难问题---2、将曲线平滑
一、总结
一句话总结:
曲线平滑的原理非常简单,将每一个点的值变为 上一个节点*0.8+当前节点*0.2
# 平滑函数的作用是将每一个点的值变为 上一个节点*0.8+当前节点*0.2 def smooth_curve(points, factor=0.8): smoothed_points = [] for point in points: if smoothed_points: previous = smoothed_points[-1] # 上一个节点*0.8+当前节点*0.2 smoothed_points.append(previous * factor + point * (1 - factor)) else: # 添加point smoothed_points.append(point) return smoothed_points
二、将曲线平滑
博客对应课程的视频位置:2、将曲线平滑-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/372
import numpy as np import matplotlib.pyplot as plt
x = np.linspace(1,4,80) y=[] for i in range(80): y.append(i+3*(-1)**i) print(x) print(y) plt.plot(x, y, 'r-') plt.show()
平滑曲线函数
# 平滑函数的作用是将每一个点的值变为 上一个节点*0.8+当前节点*0.2
def smooth_curve(points, factor=0.8): smoothed_points = [] for point in points: if smoothed_points: previous = smoothed_points[-1] # 上一个节点*0.8+当前节点*0.2 smoothed_points.append(previous * factor + point * (1 - factor)) else: # 添加point smoothed_points.append(point) return smoothed_points
print(smooth_curve(y))
plt.plot(x, smooth_curve(y), 'r-') plt.show()
我们可以看到,使用平滑函数之后,曲线就变的比较平滑了
本系列博客对应课程位置:
1、解决中文乱码问题-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/371
2、将曲线平滑-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/372
3、matplotlib绘图核心原理-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/373
4、画动态图-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/374
5、保存动态图-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/375
6、显示图片-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/376
7、去掉刻度和边框-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/383
8、几个点画曲线-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/384
9、画箭头(综合实例)-1-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/391
9、画箭头(综合实例)-2-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/392
10、画直方图-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/393
11、画动态直方图-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/394