¿Mostrar media en el diagtwig de caja en python?

Soy nuevo en Matplotlib y, a medida que estoy aprendiendo a dibujar diagtwigs de caja en python, me preguntaba si hay una manera de mostrar la media en los diagtwigs de cuadros. A continuación se muestra mi código ..

from pylab import * import matplotlib.pyplot as plt data1=np.random.rand(100,1) data2=np.random.rand(100,1) data_to_plot=[data1,data2] #Create a figure instance fig = plt.figure(1, figsize=(9, 6)) # Create an axes instance axes = fig.add_subplot(111) # Create the boxplot bp = axes.boxplot(data_to_plot,**showmeans=True**) 

Aunque tengo la marca showmean activada, me da el siguiente error.

 TypeError: boxplot() got an unexpected keyword argument 'showmeans' 

Este es un ejemplo mínimo y produce el resultado deseado:

 import matplotlib.pyplot as plt import numpy as np data_to_plot = np.random.rand(100,5) fig = plt.figure(1, figsize=(9, 6)) ax = fig.add_subplot(111) bp = ax.boxplot(data_to_plot, showmeans=True) plt.show() 

EDITAR:

Si desea lograr lo mismo con matplotlib versión 1.3.1, deberá trazar los medios manualmente. Este es un ejemplo de cómo hacerlo:

 import matplotlib.pyplot as plt import numpy as np data_to_plot = np.random.rand(100,5) positions = np.arange(5) + 1 fig, ax = plt.subplots(1,2, figsize=(9,4)) # matplotlib > 1.4 bp = ax[0].boxplot(data_to_plot, positions=positions, showmeans=True) ax[0].set_title("Using showmeans") #matpltolib < 1.4 bp = ax[1].boxplot(data_to_plot, positions=positions) means = [np.mean(data) for data in data_to_plot.T] ax[1].plot(positions, means, 'rs') ax[1].set_title("Plotting means manually") plt.show() 

Resultado:

introduzca la descripción de la imagen aquí

También puede actualizar el matplotlib:

  pip2 install matplotlib --upgrade 

y entonces

 bp = axes.boxplot(data_to_plot,showmeans=True)