微信扫一扫打赏支持

matplotlib库疑难问题---8、几个点画曲线

matplotlib库疑难问题---8、几个点画曲线

一、总结

一句话总结:

原理:几个点画曲线的原理和我们日常直接画曲线一样,就是在这几个点之间多造一些点,直接在x数据的最小值和最大值之间造一些x数据,然后用scipy.interpolate模块的 make_interp_spline函数造x对应的y的点,即可画图
引入库:from scipy.interpolate import make_interp_spline
造x点:x_smooth = np.linspace(x.min(),x.max(),300) #300 represents number of points to make between x.min and x.max
造y点:y_smooth = make_interp_spline(x, y)(x_smooth)

 

 

二、matplotlib库几个点画曲线

博客对应课程的视频位置:8、几个点画曲线-范仁义-读书编程笔记
https://www.fanrenyi.com/video/43/384

 

需求

我就只有几个点,我就想让它变成曲线

1、一般我们画曲线

In [4]:
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-np.pi,np.pi,1000)
y=np.sin(x)
plt.plot(x,y)
plt.show()

我们减少点的个数会怎样

2、我就只有几个点,我就想让它变成曲线

In [5]:
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5])
y=np.array([4,9,6,8,3])
plt.plot(x,y)
plt.show()

原理和上面产生曲线的原理是一样的:虽然只有几个点,但是我多造几个点

几个点画曲线的原理和我们日常直接画曲线一样,就是在这几个点之间多造一些点,直接在x轴的最小值和最大值之间造一些x,然后用scipy.interpolate模块的 make_interp_spline函数造x对应的y的点,即可画图

In [8]:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import make_interp_spline

x=np.array([1,2,3,4,5])
y=np.array([4,9,6,8,3])
plt.plot(x,y,'ro',markersize=12)
x_smooth = np.linspace(x.min(),x.max(),300) #300 represents number of points to make between x.min and x.max
y_smooth = make_interp_spline(x, y)(x_smooth)
print(len(y_smooth))
plt.plot(x_smooth,y_smooth,'r--')
plt.show()
300
In [ ]:
 

 

 

本系列博客对应课程位置:
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

 

posted @ 2020-11-10 19:56  范仁义  阅读(468)  评论(0编辑  收藏  举报