我是Python的新手.我一直在努力让自己熟悉Numpy,Scipy和Matplotlib,因为我有科学背景,并希望自己成为神经科学实验室工作的更有竞争力的候选人.
我一直在浏览Matplotlib文档,试图通过示例来学习.我将参考以下URL中的示例:http://matplotlib.org/users/pyplot_tutorial.html
我的印象是这些示例是用Python 3.x编写的,我遇到了麻烦,因为我使用的是Python 2.7.我使用的是2.7,因为我想要的一些库不适用于3.x.
该网站举了一个使用子图的例子.他们的代码如下:
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
Run Code Online (Sandbox Code Playgroud)
这应该返回如下图:http: //i.stack.imgur.com/ejNDu.png
当我将相同的代码复制到IDLE时,它会给我一个错误.在线上
t1 = np.arange(0.0, 5.0, 0.1)
Run Code Online (Sandbox Code Playgroud)
,IDLE告诉我"t1"语法无效.
我的第一个问题:使用t1作为变量有什么问题?
如果我复制类似的代码,但有一些事情调整,我可以避免这个错误.但是,我会收到另一个错误.当我添加相当于的行时
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
Run Code Online (Sandbox Code Playgroud)
,IDLE告诉我错误:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
plt.plot(ty, f(tx), 'bo', …Run Code Online (Sandbox Code Playgroud)