9

我按照此处的示例使用 matplotlib 在单个图形上绘制多个箱线图:http:
//matplotlib.org/examples/pylab_examples/subplots_demo.html

一切都按预期工作,但我不知道如何更改 x 轴上的刻度标签。我有四个正在绘制的数据系列,但 x 轴刻度标记为“1、2、3、4”,我想将文本分配给这些值。

我的绘图代码如下所示:

f, axarr = plt.subplots(2, sharex=True)
axarr[0].boxplot(WS_Bias, whis = 100)
#axarr[0].xticks(range(1, len(Labels)+1),Labels)
axarr[0].axhspan(-0.5, 0.5, facecolor='c', alpha = 0.2)

axarr[1].boxplot(WS_RMS, whis = 100)
#axarr[1].xticks(range(1, len(Labels)+1),Labels)
axarr[1].axhspan(0, 2, facecolor='c', alpha = 0.2)

pl.show()

当我只处理一个数据集时,注释掉的行可以更改标签,但是我使用的方法无法识别此命令。Pyplot 被导入为 plt。

4

1 回答 1

21

让我们假设axarr[0]有 4 个可见的x tick labels( [1,2,3,4]) 并且您想要改为 ['a', 'b', 'c', 'd']

Axes您可以使用以下方法设置 x 刻度标签set_xticklabels

axarr[0].set_xticklabels(['a', 'b', 'c', 'd'])

关于

当我只处理一个数据集时,注释掉的行可以更改标签,但是我正在使用的方法无法识别此命令

xticks不是Axes方法,而是 中的函数matplotlib.pyplot,(我认为)包装set/get_xticksset/get_xtickslabels. 因此,如果您尝试在代码中使用它,您应该会收到错误消息。

于 2013-11-05T15:49:28.080 回答