Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matplotlib 1.3.1没有';不要使用Python软件包_Python_Matplotlib - Fatal编程技术网

matplotlib 1.3.1没有';不要使用Python软件包

matplotlib 1.3.1没有';不要使用Python软件包,python,matplotlib,Python,Matplotlib,更新到matplotlib 1.3.1后,它停止使用数量包。例如: import matplotlib.pyplot as plt import quantities as pq import numpy as np t = np.arange(0,10,0.1) * pq.sec x = np.arange(0,10,0.1)**2 * pq.m plt.plot(t,x) 带来一个长而丑陋的异常日志,以“调用Python对象时超过最大递归深度”结尾。matplotlib.units和带有数

更新到matplotlib 1.3.1后,它停止使用数量包。例如:

import matplotlib.pyplot as plt
import quantities as pq
import numpy as np
t = np.arange(0,10,0.1) * pq.sec
x = np.arange(0,10,0.1)**2 * pq.m
plt.plot(t,x)
带来一个长而丑陋的异常日志,以“调用Python对象时超过最大递归深度”结尾。matplotlib.units和带有数量的数组的get_converter()方法似乎有问题

我发现解决问题的方法是:

plt.plot(t.magnitude,x.magnitude);

这很好,但我有相当多的脚本,我不想改变。有没有其他办法解决这个问题?

这是一个令人讨厌的例外。不幸的是,除了修改数量或Matplotlib源代码之外,我想不出任何真正好的解决方案。我会将此作为bug发布到。我建议将其发布到Matplotlib而不是数量,因为Matplotlib v1.3.0似乎没有出现此问题,但这可能更容易在数量方面解决

所以我认为你有三个选择

  • 按照您的建议执行,将
    x
    更改为
    x.magnity
  • 编写自己的绘图包装器,它可以执行
    x.magnity
    ,也可以在使用
    x
    单位的轴上放置标签,对单位进行任何转换(就像Matplotlib尝试做的那样),或者对单位执行任何其他操作
  • 将Matplotlib安装降级至1.3.0版

  • 只是为了文档。这个问题似乎是matplotlib pull请求#2591:并且在matplotlib 1.4.0中已经修复