平移和放大pyplot非常慢

时间:2016-05-23 20:42:06

标签: python matplotlib

我正在为我正在研究的机器学习项目制作可视化,并且我正在使用matplotlib来绘制图表。 matplotlib的后端是Qt4Agg。绘制的点数小于100。

平移和缩放非常缓慢。你知道这是什么原因吗?

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

from classifier import Classifier

cl = Classifier(1)
with open("./data/enolase-01.bounds") as file:
    data = file.read().strip().split("\n")
    xdim = int(data[7].split(" ")[-1])
    ydim = int(data[8].split(" ")[-1])
    zdim = int(data[9].split(" ")[-1])

fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")

for i, n in enumerate(cl.X[0]):
    z = i % zdim
    y = i / zdim % ydim
    x = i / zdim / ydim % xdim
    if n == 0.0:
        continue
    ax.scatter([x], [y], [z], c='r', marker="o")
    #print x, y, z


ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

1 个答案:

答案 0 :(得分:1)

我发现问题在于我的分散方式太多了。我为700多个点中的每个点调用一次,每个点都是散点图。将所有内容放入一个调用中可以消除平移和缩放中的所有延迟。