Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib pyplot.title(string) returns error

When I call pyplot.title('some string') it throws the exception, 'str' object is not callable'. I copied the following from the matplotlib online documentation:

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

and get

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

I'm using python 2.7.5 and the latest release of matplotlib on an iMac with an I7 processor OSX 10.8 and 8 gig ram and ipython notebook.

Does anyone know what's going on?

like image 906
olben1 Avatar asked Oct 18 '13 05:10

olben1


People also ask

How do I specify RGB in Matplotlib?

Matplotlib recognizes the following formats to specify a color. RGB or RGBA (red, green, blue, alpha) tuple of float values in a closed interval [0, 1]. Case-insensitive hex RGB or RGBA string. Case-insensitive RGB or RGBA string equivalent hex shorthand of duplicated characters.

How do I change the position of a title in Matplotlib?

In this method, we will be using the pad argument of the title() function to change the title location in the given plot in the python programming language. Example: In this example, We will elevateTitleTitle by using the “pad” parameter. The offset of the Title from the top of the axes, in points.


2 Answers

It happened to me because I tried to do plot.title = "Some string" so that rewrote the title() method. That's the exact reason why it happens :) . As others have said you just need to restart the kernel, no need to reinstall.

like image 200
steven2308 Avatar answered Sep 25 '22 15:09

steven2308


I had the same problem. The code was fine, but in the interpreter, I had previoulsy used incorrect xlabel() calls. re-starting the interpreter (close and reopen it) was enough for me, no need to reinstall all python/matplotlib !

like image 28
François Landes Avatar answered Sep 24 '22 15:09

François Landes