python的多项式画线
时间: 2023-11-03 19:00:54 浏览: 74
要在Python中画多项式曲线,可以使用numpy库中的polyfit函数进行多项式拟合,并使用matplotlib库进行画图。
首先,使用polyfit函数拟合多项式并获得多项式系数an。然后,使用poly1d函数将系数an传入,生成一个多项式对象p1。
接下来,可以使用polyval函数传入多项式系数an和源数据点的横坐标x,得到通过多项式计算后的源数据点的纵坐标。最后,使用matplotlib库来绘制曲线。
示例代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
# 源数据点
x = np.arange(-1.5, 1.6, 0.5)
y = [-4.45, -0.45, 0.55, 0.05, -0.44, 0.54, 4.55]
# 多项式拟合
an = np.polyfit(x, y, 3)
# 生成多项式对象
p1 = np.poly1d(an)
# 计算拟合后的纵坐标
y_fit = np.polyval(an, x)
# 绘制曲线
plt.plot(x, y, 'o', label='原始数据')
plt.plot(x, y_fit, label='拟合曲线')
plt.legend()
plt.show()
相关问题
python画趋势线
画趋势线可以使用Python中的Matplotlib库。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一些随机数据
x = np.arange(50)
y = np.random.randint(0, 50, size=50)
# 用一次多项式拟合数据
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
# 绘制原始数据
plt.plot(x, y, 'b.', alpha=0.5)
# 绘制拟合曲线
plt.plot(x, p(x), 'r-', alpha=0.8)
# 显示图形
plt.show()
```
该代码会生成一些随机数据,然后用一次多项式拟合数据,并绘制原始数据和拟合曲线。你可以根据自己的需要修改数据和拟合的次数。
python 画散点的趋势线
在Python中,我们可以使用matplotlib库来画散点图和趋势线。代码示例如下:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一组随机数据
x = np.random.rand(50)
y = np.random.rand(50)
# 画散点图
plt.scatter(x, y)
# 计算趋势线
z = np.polyfit(x, y, 1) # 一次多项式拟合
p = np.poly1d(z) # 构造多项式对象
plt.plot(x, p(x), "r-") # 画出趋势线
plt.show() # 显示图像
```
首先生成一组随机的数据,然后使用scatter函数画出散点图。接着使用numpy库的polyfit函数拟合一次多项式来计算趋势线的斜率和截距。再使用numpy库的poly1d函数构造一个多项式对象。最后用plot函数画出红色的趋势线,其中x是散点的横坐标,p(x)是多项式对象的返回值,表示拟合出的趋势线的纵坐标。最后使用show函数显示图像。
总之,在Python中画散点的趋势线很简单,只需要使用matplotlib库和numpy库的相关函数就可以轻松实现。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)