一个(小的)加速将是添加一个单行集合,而不是10000个单独的行集合。在
只要所有的线条共享相同的颜色贴图,就可以将它们组合到一个单独的线条集合中,并且每个线条仍然可以有一个独立的渐变。在
在这件事上Matlib还是很慢的。它是优化的质量输出,而不是快速绘制时间。不过,你可以把速度提高一点(~3倍)。在
所以,作为一个例子,我认为你可能是(?)现在就做:import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection
# Make random number generation consistent between runs
np.random.seed(5)
def main():
numlines, numpoints = 2, 3
lines = np.random.random((numlines, numpoints, 2))
fig, ax = plt.subplots()
for line in lines:
# Add "num" additional segments to the line
segments, color_scalar = interp(line, num=20)
coll = LineCollection(segments)
coll.set_array(color_scalar)
ax.add_collection(coll)
plt.show()
def interp(data, num=2