matplotlib与iPython笔记本和python文件的差异

tur*_*tle 1 python matplotlib ipython

我有一个matplotlib的奇怪问题,我似乎无法搞清楚.当使用带有pylab标志的ipython笔记本时,ipython notebook --pylab inline我有一行代码,用于生成带有matplotlib的颜色条:

im = ax.imshow(df, vmin=vmin, vmax=vmax)
Run Code Online (Sandbox Code Playgroud)

代码工作正常,我得到一个很好的颜色栏.当我将此代码作为python文件运行时,我收到错误NameError: name 'ax' is not defined.我明白ipython notebook --pylab inline自动将一堆东西导入到笔记本中,但我无法弄清楚我需要导入什么才能解决问题.print type(ax)得到:

<class 'matplotlib.axes.AxesSubplot'>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出为什么我的代码在ipython中工作但不是普通的python文件?提前致谢.

kib*_*oru 5

我有同样的问题.根据此条目: 如何在matplotlib图中将xtick标记为年份2位数

尝试通过添加(导致错误的行之前)来定义'ax':

ax = plt.gca()
Run Code Online (Sandbox Code Playgroud)