如何使Plt.plot在python中显示抛物线?

如何使Plt.plot在python中显示抛物线?,python,plot,Python,Plot,也许这将是一个重复的问题,但我找不到任何解决办法。 通常,我编写的代码应该在python中显示一条曲线。但是有了这个代码我就看不见了。我的代码或pycharm有问题吗?此代码仅显示具有正确轴的空图形 我在plt.plotat[I],st,ro中添加了ro。这显示了图表上的点,但我希望看到完整的线条 at = [0,1,2,3,4,5,6] for i in range(len(at)): st = at[i]**2 plt.plot(at[i], st) plt.show()

也许这将是一个重复的问题,但我找不到任何解决办法。 通常,我编写的代码应该在python中显示一条曲线。但是有了这个代码我就看不见了。我的代码或pycharm有问题吗?此代码仅显示具有正确轴的空图形

我在plt.plotat[I],st,ro中添加了ro。这显示了图表上的点,但我希望看到完整的线条


at = [0,1,2,3,4,5,6]

for i in range(len(at)):
    st = at[i]**2
    plt.plot(at[i], st)
plt.show()

可能更愿意在打印之前完全计算要打印的值

at = [0,1,2,3,4,5,6]
y = [xi**2 for xi in at]

plt.plot(at, y)
或者用一个函数来替代它

from math import pow

at = [0,1,2,3,4,5,6]

def parabolic(x):
    return [pow(xi,2) for xi in x]

plt.plot(at, parabolic(at))
两者都返回以下绘图:

这是您通常的做法:

import numpy as np
import matplotlib.pyplot as plt                                                                                                                                                                                                                  
at = np.array([0,1,2,3,4,5,6])
at2 = at ** 2
plt.plot(at,at2)
plt.show()
您可以使用plt.plotat、at2、c='red',marker='o'等工具来查看斑点


有关详细说明,请阅读文档

其他答案会修复您的问题,但不会告诉您代码不起作用的原因

什么都看不见的原因是plt.plotat[i],st试图在您给它的点之间画线。但因为你只给它一个值,所以它没有任何界限。结果,情节上什么也没有出现

当您改为调用plt.plotat[i],st'ro'时,您告诉它在点处绘制单个圆,而这些圆不在点之间,因此会出现

其他答案向您展示了如何将多个值传递到绘图,因此matplotlib可以在这些值之间绘制线

您的一条评论说它不是抛物线,这是因为matplotlib不是符号绘图库。您只需给它数值,它就会将这些数值绘制到输出设备上。Symphy是一个用于进行符号计算的库,支持打印,例如:

from sympy import symbols, plot

x = symbols('x')

plot(x**2, (x, 0, 6))
这对我来说是正确的。当前版本1.4不处理不连续性,但这将在下一版本中进行