这里是iPython中的问题示例。我已经尝试在其他Python shell中复现了此问题。
In [1]: a = 1e-6
In [2]: str(a)
Out[2]: '1e-06'
In [3]: import matplotlib as mpl
In [4]: str(a)
Out[4]: '1e-06'
In [5]: import matplotlib.pyplot as plt
In [6]: str(a)
Out[6]: '1e-06'
In [7]: plt.plot(1.0)
Out[7]: [<matplotlib.lines.Line2D at 0x262a850>]
In [8]: str(a)
Out[8]: '1e-06'
In [9]: plt.show()
In [10]: str(a)
Out[10]: 'ERR'
以下是相关版本号。
In [11]: mpl.__version__
Out[11]: '1.2.0'
In [12]: import numpy as np
In [13]: np.__version__
Out[13]: '1.6.2'
这个问题发生在我的XP专业实验室电脑上,运行Python 2.7.3和Microsoft Visual Express 2008 C++和Basic。我不知道如何开始追踪问题。
str
查看是否已将str
设置为某些奇怪的对象,或者输入a
本身,或者输入type(a)
以查看它是否已更改。另外,你正在使用哪个后端? - BrenBarnplt.show()
之前和之后,你能否打印出type(a), id(a), type(str), id(str)
的值? - NPEplt.show()
命令之前和之后,type(a), id(a), type(str), id(str)
的输出分别为(float, 14616600, type, 505348768)
和(float, 14616600, type, 505348768)
。 - Nik Hartman