Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems with matplotlib.pyplot.xticks()

I am trying to plot boxplots as follows:

import matplotlib.pyplot as plt

plt.figure()
plt.xlabel("X")
plt.ylabel("Y")
plt.xticks([1,2,3,4], ["a", "b", "c", "d"])
plt.boxplot(data)
plt.show()

However, I got an error for plt.xticks where it says tuple object is not callable. My x-axis is labelled with 1,2,3,4 instead of 'a', 'b', 'c', 'd'.

I am following a tutorial here: Rotating custom tick labels

like image 644
Stanley Gan Avatar asked Dec 03 '22 21:12

Stanley Gan


1 Answers

The other reason this can happen is if you mistakenly redefine plt.xticks. For example, if you accidentally run:

plt.xticks = ([1,2,3,4], ['a','b','c','d']) #wrong format, uh oh

Now you've redefined plt.xticks as a tuple variable. When you then go to call it the right way:

plt.xticks([1,2,3,4], ["a", "b", "c", "d"])

You'll get an error for trying to call a tuple. The easy solution is to restart your session fresh, or at least to reimport matplotlib.pyplot which should overwrite the mistaken variable you created.

You can reimport matplotlib.pyplot as follows. Assuming you originally imported it as plt:

import importlib
importlib.reload(plt)
like image 186
Cobra Avatar answered Dec 06 '22 11:12

Cobra