Python 绘制定义的函数

Python 绘制定义的函数,python,plot,Python,Plot,我对Python非常陌生,一般来说,在计算机方面我是不称职的,更不用说计算机行话了,所以希望这个标题有意义 我所做的(我认为的)是正弦展开。然而,我正在尝试绘制它,我要么让图形显示为没有任何内容,要么在几次尝试中(尽管我现在无法重新创建它)出现一个错误,说它无法绘制正弦(x),因为它是未定义的,尽管正如您在下面看到的,它显然是“定义”的 我的代码如下: from math import pi from math import factorial import matplotlib.pyplot

我对Python非常陌生,一般来说,在计算机方面我是不称职的,更不用说计算机行话了,所以希望这个标题有意义

我所做的(我认为的)是正弦展开。然而,我正在尝试绘制它,我要么让图形显示为没有任何内容,要么在几次尝试中(尽管我现在无法重新创建它)出现一个错误,说它无法绘制正弦(x),因为它是未定义的,尽管正如您在下面看到的,它显然是“定义”的

我的代码如下:

from math import pi
from math import factorial
import matplotlib.pyplot as plt

def sine(x): 
    sum = 0
    n = 0
    q = 1
    while (q > 0.000001):
        q = (x**(2*n +1))/(factorial(2*n + 1))
        if n % 2 ==0:
            sum += q
        else:
            sum -= q
        n += 1
    return sum

for i in range (10):
    z = float(i*pi)
    print sine(z)

plt.plot(i,color='red', alpha=1)
plt.show()

我只是把红色和alpha放在那里,以防点太小,我看不见,但唉,加上这两个并没有给我显示任何新的东西。

plot
需要1或2个数组。您可以在终端上尝试以下操作:

绘图([1,2,3])
绘图([1,2,3,4],[4,3,2,1])

现在试试:

plot(1)
你得到了什么?没有什么。因为你想画一个数字
i=9
来自您在
for
循环中的上次分配

# The rest of your stuff ...

x = range(10)
plt.plot(x, map(sine, x) )
plt.show()

干杯

你是上帝派来的!非常感谢。