matplotlib数据依赖绘图速度

时间:2016-06-21 12:56:38

标签: python matplotlib

我正在尝试加速我的matplotlib图表~100K(理想情况下~5M)采样方波点并遇到一个我无法解释的性能问题。

这是一个简单的测试代码:

import time
import numpy as np
from matplotlib import pyplot as plt

arr1 = np.tile(np.array([0, .01, .02, .01, .02, .01, .03, .05, .07, 1, .9, .8, .9]), 10000) # 3 sec
arr2 = np.tile(np.array([0, .01, .02, .01, .02, .01, .03, .05, .07, 1, .9, .8, 1]), 10000)  # 1 sec

for data in [arr1, arr2, arr1, arr2]:
    fig = plt.figure()
    start = time.clock()
    plt.plot(data)
    plt.show(False)

    print "Elapsed %.1f" % (time.clock() - start)

    plt.close()

绘图arr1需要3秒钟,arr2只需1秒钟。 唯一的区别在于最后一个(重复)元素,0.9对1,但它不应该改变垂直缩放,因此我不能解释这些图之间的3倍速度差异。我使用的是python 2.7 / matplotlib 1.5.1。

有人能告诉我第一种情况下性能下降的原因是什么?

0 个答案:

没有答案