Дублированные цветные полосы при создании анимации - PullRequest
2 голосов
/ 03 марта 2011

Я новичок в matplotlib.Когда я генерирую серию контурных графиков с циклом, matplotlib создает n дублированных цветовых полос (цветовой диапазон имеет фиксированный диапазон)

Должен ли я уничтожить старую цветную полосу для каждого цикла, если так, как мне это сделать?

Обновление:

Хорошо, но если я сгенерирую цветную полосу для контурного графика.Как мне убедиться, что весь масштаб включен.Я попытался с помощью "clip = False" & extension = 'both'

c_scale = matplotlib.colors.Normalize(vmin=0, vmax=1,clip=False)
cbar = plt.colorbar(cmap=plt.cm.jet,norm=c_scale,shrink=0.5,extend='both')

Ответы [ 2 ]

1 голос
/ 03 марта 2011

contourf не генерирует цветную полосу, цветовая полоса делает.

Если цветовая полоса имеет фиксированный диапазон, вы можете вызвать colorbar () один раз в начале, а затем просто построить новый контур без вызова colorbar ()

Пример:

#In which we make contourplots with just one colorbar

import matplotlib.pyplot as plt
import numpy as np

plt.figure(1)
plt.clf()
plt.contourf(np.random.random((10,10)))
plt.colorbar()
for k in xrange(10):
    plt.contourf(np.random.random((10,10)))
plt.show()
0 голосов
/ 05 июля 2015

Если вы хотите постоянно обновлять цветовую панель и все остальное на рисунке, используйте plt.ion () в самом начале, чтобы включить интерактивное построение графиков, и используйте комбинации plt.draw () и plt.clf () для непрерывногообновите график

import matplotlib.pyplot as plt
import numpy as np

plt.ion(); plt.figure(1);
for k in range(10):
    plt.clf(); plt.subplot(121);
    plt.contourf(np.random.randn(10,10)); plt.colorbar();
    plt.subplot(122,polar=True)
    plt.contourf(np.random.randn(10,10)); plt.colorbar();
    plt.draw();

Обратите внимание, что это работает с фигурами, содержащими разные субплоты и различные типы графиков (т.е. полярные или декартовы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...