1

我对 matplotlib 有一个奇怪的问题,我似乎无法弄清楚。当使用带有 pylab 标志的 ipython 笔记本时,ipython notebook --pylab inline我有一行代码看起来像这样,用于使用 matplotlib 生成颜色条:

im = ax.imshow(df, vmin=vmin, vmax=vmax)

代码正常工作,我得到了一个不错的颜色条。当我将此代码作为 python 文件运行时,出现错误,NameError: name 'ax' is not defined. 我知道会ipython notebook --pylab inline自动将一堆东西导入笔记本,但我无法弄清楚我需要导入什么来解决问题。print type(ax)给出:

<class 'matplotlib.axes.AxesSubplot'>

谁能指出为什么我的代码可以在 ipython 中运行,但不能在普通的 python 文件中运行?提前致谢。

4

2 回答 2

5

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

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

ax = plt.gca()
于 2017-03-07T16:24:17.097 回答
2

我不太确定你做了什么,因为aX默认情况下没有定义为 pylab 的一部分。

通常,ax指的是一个轴对象。有几种方法可以获得:

matplotlib.pyplot.gca()            # gca = get current axis
matplotlib.pyplot.subplot(2,1,1)   # For creating multiple plots in one figure
fig.get_axes()[x]                  # Where fig is a Figure object
于 2012-08-05T11:41:58.657 回答