Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
428 views
in Technique[技术] by (71.8m points)

python - 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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...