2013-04-11 50 views
1

我有這樣的代碼和預期輸出(見第一張圖片),但是實際的產量(見第2個圖片)。 什麼問題?蟒蛇情節不轉出正確

import numpy as np 
import matplotlib.pyplot as plt 

t = np.arange(-.75, 2.25, .001) 

p = 1/(np.cos(t) + np.sin(t)) 

plt.plot(p) 

plt.axis((-1, 2.5, 0, 4)) 
plt.show() 

Correct output

Wrong output

回答

4

這應該修復它:

plt.plot(t, p) 

什麼你在做密謀prange(len(p)),本質上。

+0

感謝。有時候我不會那樣想那個情節。你能否解釋一下,如果你知道這是爲什麼。 – dustin 2013-04-11 02:22:51

+2

@dustin - 如果你不指定「X」陣列,matplotlib假設你想你在通過陣列作圖其indicies(例如'範圍(LEN(P))',爲Bhajun說)。如果要繪製x vs y,則需要指定x和y,否則matplotlib無法知道y中的數字是如何生成的或它們與哪些相關的。 – 2013-04-11 02:56:56