我正在使用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导入。
答案 0 :(得分:16)
我们假设axarr[0]
有4个可见的x tick labels
([1,2,3,4]
)并且您希望改为['a','b','c','d']
您可以使用Axes
方法set_xticklabels
设置x刻度标签:
axarr[0].set_xticklabels(['a', 'b', 'c', 'd'])
关于
当我只处理一个数据集时,注释掉的行用于更改标签但是我使用的方法无法识别此命令
xticks
不是Axes
方法,而是matplotlib.pyplot
中的一个函数,(我认为)包裹set/get_xticks
和set/get_xtickslabels
。因此,如果您尝试在代码中使用它,则应该收到错误。