[英]How to make Plt.plot show my parabolic line in python?
也许这将是重复的问题,但我找不到任何解决方案。 通常我编码的内容应该在python中显示一条曲线。 但是用这个代码我看不到它。 我的代码或 pycharm 有问题吗? 这段代码只向我显示了一个带有正确轴的空图形。
我确实在 plt.plot(at[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()
这是您通常会这样做的方式:
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.plot(at,at2, c='red', marker='o')
来查看斑点。
有关详细说明,请阅读文档。
其他答案为您的问题提供了解决方案,但不要告诉您为什么您的代码不起作用。
没有“看到任何东西”的原因是plt.plot(at[i], st)
试图在你给它的点之间画线。 但是因为你只给它单一的值,所以它之间没有任何界限。 结果,情节上什么也没出现
当您更改为调用plt.plot(at[i], st, 'ro')
您是在告诉它在点处绘制单个圆圈,并且这些圆圈不在点之间,因此会出现
其他答案向您展示了如何将多个值传递给plot
,因此 matplotlib 可以在这些值之间画线。
你的一个评论说“它仍然不是抛物线”,这是因为 matplotlib 不是一个符号绘图库。 你只需给它数值,然后它就会将这些数值绘制到输出设备上。 sympy
是一个用于进行符号计算并支持绘图的库,例如:
from sympy import symbols, plot
x = symbols('x')
plot(x**2, (x, 0, 6))
为我做正确的事。 当前版本 (1.4) 不处理不连续性,但这将在下一个版本中修复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.