Как проверить, существует ли цветовая шкала на рисунке
Вопрос: есть ли способ проверить, существует ли цветная полоса?
Я делаю много сюжетов с петлей. Проблема в том, что цветная полоса рисуется на каждой итерации!
Если бы я мог определить, существует ли цветовая полоса, я мог бы поместить функцию цветовой полосы в оператор if.
if cb_exists:
# do nothing
else:
plt.colorbar() #draw the colorbar
Если я использую многопроцессорную обработку для создания рисунков, возможно ли предотвратить добавление нескольких цветных полос?
import numpy as np
import matplotlib.pyplot as plt
import multiprocessing
def plot(number):
a = np.random.random([5,5])*number
plt.pcolormesh(a)
plt.colorbar()
plt.savefig('this_'+str(number))
# I want to make a 50 plots
some_list = range(0,50)
num_proc = 5
p = multiprocessing.Pool(num_proc)
temps = p.map(plot, some_list)
Я понимаю, что могу очистить фигуру с помощью plt.clf () и plt.cla () перед построением следующей итерации. Но у меня есть данные о слое базовой карты, которые я не хочу перепланировать (это увеличивает время, необходимое для создания графика). Так что, если бы я мог удалить цветовую панель и добавить новую, я бы сэкономил время.