как обновить ось палитры в al oop? - PullRequest
0 голосов
/ 17 июня 2020

Я рисую цифру в oop. Диапазон данных меняется каждый раз. Я хотел бы обновить свою шкалу цветов на основе нового диапазона, но вместо обновления текущей шкалы цветов к моей фигуре будет добавлена ​​другая шкала цветов. Я попытался использовать fig.add_axes, чтобы установить постоянные оси для моей шкалы палитры, но все же я вижу, что шкалы палитры добавляются в этих осях друг над другом, что выглядит не очень красиво:

from matplotlib import pyplot as plt
fig1 = plt.figure()
fig1.clf()
ax = fig1.add_subplot(111)
temp = numpy.mymatrix
im1 = ax.imshow((temp), cmap='coolwarm', aspect='equal')
cbaxes = fig1.add_axes([0.8, 0.1, 0.03, 0.8])
plt.colorbar(im1, cax = cbaxes)
plt.pause(0.00000001) 

есть ли решение, в котором я могу обновить существующую цветовую панель?

1 Ответ

1 голос
/ 17 июня 2020

Вы можете набрать update_normal() на палитре цветов.

Вот пример на al oop:

from matplotlib import pyplot as plt
import numpy as np

fig1 = plt.figure()
ax = fig1.add_subplot(111)
cbaxes = fig1.add_axes([0.8, 0.1, 0.03, 0.8])
for i in range(100):
    temp = np.random.normal(0, 1, size=(10,10))
    im1 = ax.imshow(temp, cmap='coolwarm', aspect='equal')
    if i == 0:
        cbar = plt.colorbar(im1, cax = cbaxes)
    else:
        cbar.update_normal(im1)
    plt.pause(0.00000001)
...