首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用plt绘制抛物线和点?

如何用plt绘制抛物线和点?
EN

Stack Overflow用户
提问于 2021-11-15 13:42:55
回答 2查看 49关注 0票数 0

我有以下几点:

代码语言:javascript
复制
[[1,10],[2,5.49],[3,0.89],[4,-0.14],[5,-1.07],[6,0.84]]

我计算了通过这些点y=0.83535714x^2-7.74778571x+17.116的抛物线。值:

代码语言:javascript
复制
> print(matrix)
 [[ 0.83535714]
 [-7.74778571]
 [17.116     ]]

此外,我还拆分了以下几个点:

代码语言:javascript
复制
points = np.asarray([[1,10],[2,5.49],[3,0.89],[4,-0.14],[5,-1.07],[6,0.84]])
points_x_axis = points[:, 0]
points_y_axis = points[:, 1]

现在我想画抛物线和点。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2021-11-15 13:46:51

使用多项式回归来平滑图形

代码语言:javascript
复制
import numpy as np    
import matplotlib.pyplot as plt

def parabola(x):
    return 0.83535714*x**2-7.74778571*x+17.116

x = np.linspace(0, 9, 100)
y = parabola(x)

plt.plot(x, y)
plt.scatter(points_x_axis, points_y_axis)
plt.show()

代码语言:javascript
复制
#Simple plotting    
import matplotlib.pyplot as plt
plt.plot(points_x_axis, points_y_axis, 'o')
plt.plot(points_x_axis, 0.83535714*points_x_axis**2-7.74778571*points_x_axis+17.116)
plt.show()

输出:

票数 1
EN

Stack Overflow用户

发布于 2021-11-15 14:44:26

使用np.polyfitnp.polyval

代码语言:javascript
复制
data = np.array([[1,10],[2,5.49],[3,0.89],[4,-0.14],[5,-1.07],[6,0.84]])
p = np.polyfit(data[:, 0], data[:, 1], 2)
x = np.linspace(0, 9, 100)
y = np.polyval(p, x)
plt.plot(x, y)
plt.plot(data[:, 0], data[:, 1], 'k.')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69975340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档