matplotlib.pyplot.xticks()的问题

时间:2017-09-15 03:54:14

标签: python matplotlib

我试图按如下方式绘制箱线图:

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

但是,plt.xticks出现错误,表示元组对象不可调用。我的x轴标有1,2,3,4而不是' a'''' c'' d' ;。

我在这里关注教程:Rotating custom tick labels

2 个答案:

答案 0 :(得分:3)

你构建情节的顺序很重要;您必须首先使用数据创建绘图,然后根据需要调整设置:

import matplotlib.pyplot as plt   # <-- you had a typo here

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

enter image description here

答案 1 :(得分:1)

发生这种情况的另一个原因是,如果您错误地重新定义了plt.xticks。例如,如果您不小心运行:

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

现在,您已经将plt.xticks重新定义为元组变量。然后您以正确的方式调用它:

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

尝试调用元组会出错。一种简单的解决方案是重新启动会话,或者至少重新导入matplotlib.pyplot,这会覆盖您创建的错误变量。