更新到 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);
哪个效果很好,但是我有很多脚本我不想更改。有没有其他方法可以解决这个问题?