Como atualizar o gráfico de barras no matplotlib?

Tenho um gráfico de barras, com muitas propriedades personalizadas (etiqueta, largura de linha, cor da borda)

import matplotlib.pyplot as plt
fig = plt.figure()
ax  = plt.gca()

x = np.arange(5)
y = np.random.rand(5)

bars = ax.bar(x, y, color='grey', linewidth=4.0)

ax.cla()
x2 = np.arange(10)
y2 = np.random.rand(10)
ax.bar(x2,y2)
plt.show() 

Com gráficos 'normais' eu usariaset_data(), mas com o gráfico de barras recebi um erro:AttributeError: 'BarContainer' object has no attribute 'set_data'

Não quero simplesmente atualizar as alturas dos retângulos, quero plotar retângulos totalmente novos. Se eu usar ax.cla (), todas as minhas configurações (largura de linha, cor da borda, título ...) também serão perdidas, não apenas meus dados (retângulos), e para limpar muitas vezes e redefinir tudo, torna meu programa lento. Se eu não usarax.cla(), as configurações permanecem, o programa é mais rápido (não preciso definir minhas propriedades o tempo todo), mas os retângulos são desenhados um para o outro, o que não é bom.

Você pode me ajudar com isso?

questionAnswers(1)

yourAnswerToTheQuestion