¿Cómo actualizar el gráfico de barras en matplotlib?

Tengo un gráfico de barras, con muchas propiedades personalizadas (etiqueta, ancho de línea, color de borde)

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() 

Con tramas "normales" usaríaset_data(), pero con el gráfico de barras recibí un error:AttributeError: 'BarContainer' object has no attribute 'set_data'

No quiero simplemente actualizar las alturas de los rectángulos, quiero trazar rectángulos totalmente nuevos. Si uso ax.cla (), todos mis ajustes (ancho de línea, color de borde, título ...) también se pierden, no solo mis datos (rectángulos), y para borrarlos muchas veces, y restablecer todo hace que mi programa sea lento. Si yo no usoax.cla(), la configuración permanece, el programa es más rápido (no tengo que configurar mis propiedades todo el tiempo), pero los rectángulos se dibujan entre sí, lo que no es bueno.

¿Me puede ayudar con eso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta