Медленное обновление в python цветовой карты - PullRequest
0 голосов
/ 12 марта 2019

Привет, у меня есть код для создания цветовой карты, и обновление каждый раз увеличивается, но когда работает, обновление происходит все медленнее. я также пытался использовать set_array и эту функцию быстрее, но только помещал данные в пространство, которое я изначально записывал, и я не мог найти что-то для изменения размера, вы можете попробовать это раскомментировать строки 25 и 41 и комментировать строку 44.

кто-нибудь может помочь мне сделать это быстрее или изменить размер, чтобы я мог использовать set_array?

import numpy as np                  # Cargamos numpy como el alias np
import matplotlib.pyplot as plt     # Crgagamos matplotlib.pyplot como el alias plt
import matplotlib.colors
import random
from time import time


cc=51
norm = matplotlib.colors.Normalize(0,255)
colors = [[norm(0), "w"],
         [norm(cc), "blue"],
         [norm(cc*2), "green"],
         [norm(cc*3), "yellow"],
         [norm(cc*4), "darkorange"],
         [norm(cc*5), "red"]]

cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
data=[]
o=0


# Creamos una figura
fig, ax = plt.subplots()
plt.ioff()
#im= ax.imshow(np.random.random((50,50)),cmap)#usarlo con el set array

#plt.xlim([0, 2000])
#plt.ylim([0, 2000])  
# Creamos los arrays dimensionales
x = np.arange(-10, 10, 1)
y = np.arange(-10, 10,1)

# Obtenemos las corrdenadas resultantes de esos arrays
X, Y = np.meshgrid(x, y)


# datos y grafico


def plot(data,cmap):
   # im.set_array(data) #Update la matriz del colormap


    plt.imshow(data,cmap,interpolation='none')

    fig.canvas.draw()
    fig.canvas.flush_events()    
    plt.show(block=False)  

def datos(tam):
    wf_data=np.random.rand(tam)   
    return wf_data

while o<100:
    start_time = time()
    print(o)   
    data.append(datos(100))      
    o=o+1 

    plot(data,cmap)
    elapsed_time = time() - start_time
    print("Elapsed time: %0.10f seconds." % elapsed_time)
...