Cuando llamo pyplot.title('some string') se produce la excepción, 'str' object is not callable'.
He copiado el siguiente de la matplotlib la documentación en línea:

mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)

# the histogram of the data
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75)


plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()

y obtener

TypeError                                 Traceback (most recent call last)
<ipython-input-158-40fe7a831b06> in <module>()
      8 plt.xlabel('Smarts')
      9 plt.ylabel('Probability')
---> 10 plt.title('Histogram of IQ')
     11 plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
     12 plt.axis([40, 160, 0, 0.03])

TypeError: 'str' object is not callable

pyplot.suptitle() funciona OK

Estoy usando python 2.7.5 y la última versión de matplotlib en un iMac con un procesador I7 de OSX 10.8 y 8 gb de ram y ipython notebook.

¿Alguien sabe qué está pasando?

A mí me funciona en OSX 10.8.5 con Python 2.7.5 y matplotlib 1.3.0. ¿Cómo instalar ipython y matplotlib? Es el código de arriba el único código que evocan? No se ejecuta ipython notebook --pylab o ¿cómo inicializar?
Yo también no se puede volver a producir esto. ¿Tienes un plt.title = 'blah' en algún lugar de su código por encima de esta?
He reinstalado matplotlib (pip desinstalar y instalar pip) y todo está OK. Antes de esto ?plt.título me dijo que plt.el título era una cadena. Ahora se confirma que plt.el título es una función. No estoy seguro de que undetstand todos de él, pero es trabajo. Gracias chicos.

OriginalEl autor olben1 | 2013-10-18

4 Comentarios

  1. 24

    Me pasó a mí, porque yo traté de hacer plot.title = "Some string" así que reescribió el title() método. Esa es la razón exacta de por qué sucede 🙂 .
    Como otros han dicho, sólo tienes que reiniciar el kernel, no hay necesidad de reinstalar.

    Esto debe ser aceptado respuesta aquí… después de haber reescrito el «título» es la causa raíz del problema

    OriginalEl autor steven2308

  2. 22

    Yo tenía el mismo problema. El código estaba bien, pero en el intérprete, tuve anteriormente se utiliza incorrecto xlabel() llamadas.
    re-inicio de la intérprete (cerrar y volver a abrir) fue suficiente para mí, no hay necesidad de reinstalar todo de python/matplotlib !

    Trabajó como un encanto!
    Mismo problema, estoy trabajando en Jupyter y una vez que he reiniciado el kernel fui a todos.

    OriginalEl autor fplandes

  3. 3

    He tenido que esto ocurra cuando he previamente accidentalmente plt.title = «

    Después de que la función no es una función.
    Reiniciar python kernel o re-importación de plt biblioteca se puede arreglar.

    No volver a instalar. Volver a IMPORTAR.

    No es broma. Si usted previamente accidentalmente asignar una cadena a la función se convierte en una cadena??

    OriginalEl autor Jonathan Anderson

  4. 1

    Tenía el mismo problema olben1, el uso de ipython, anaconda y el –pylab bandera. Reinstalado y funcionó. Fwiw, utilizando una anaconda env hace que la desinstale y vuelva a instalar más fácil..

    OriginalEl autor user3178165

Dejar respuesta

Please enter your comment!
Please enter your name here