[英]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.