Python matplotlib箱线图xticks向y轴移动

Python matplotlib箱线图xticks向y轴移动,python,numpy,pandas,matplotlib,Python,Numpy,Pandas,Matplotlib,我是matplotlib的初学者,尝试为使用pandas提取的数据绘制箱线图 我成功地得到了箱线图,除了xtics外,它看起来和我想要的完全一样。这些XTIC正在向yaxis转移。我不知道为什么 以下是我的示例阵列: In [74]: print occ [[0.40000000000000002, 25.199999999999999, 2.0, 0.40000000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 21.199999999999

我是matplotlib的初学者,尝试为使用pandas提取的数据绘制箱线图

我成功地得到了箱线图,除了xtics外,它看起来和我想要的完全一样。这些XTIC正在向yaxis转移。我不知道为什么

以下是我的示例阵列:

In [74]: print occ

[[0.40000000000000002, 25.199999999999999, 2.0, 0.40000000000000002, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 21.199999999999999, 0.0, 0.0, 26.800000000000001, 12.800000000000001, 0.40000000000000002, 0.40000000000000002, 0.40000000000000002, 0.0], [0.0, 31.199999999999999, 0.0, 0.0, 21.600000000000001, 0.0, 0.0, 0.40000000000000002, 0.0, 4.7999999999999998], [0.0, 32.0, 0.0, 0.0, 23.199999999999999, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 37.350000000000001, 0.0, 0.0, 13.65, 0.0, 0.0, 0.0, 0.0, 1.2]]

In [78]: dfAll.pair
​
Out[78]:
0    GLU18-Side-ASN50-Side
1    ASN50-Side-ARG21-Side
2    GLN14-Side-ASN42-Side
3    ASN42-Side-GLN14-Side
4    GLN14-Side-ARG43-Side
5    SER46-Side-ARG15-Side
6    ASN42-Side-ARG15-Side
7    GLU11-Side-ASN42-Side
8    ALA39-Main-GLN14-Side
9    GLU18-Side-SER46-Side
Name: pair, dtype: object
下面是我的matplotlib箱线图代码:

plt.boxplot(np.array(occ),  showmeans=True, whis="range", showbox=True, labels=dfAll.pair)
plt.xticks(range(0,(dfAll.pair.shape[0])), dfAll.pair, rotation='vertical')
plt.show()


知道为什么会发生这种情况,以及如何获得正确的XTIC吗?

错误在于这一行:

plt.xticks(range(0,(dfAll.pair.shape[0])), dfAll.pair, rotation='vertical')
您明确指定
0
作为起点,这一事实导致了问题的出现。将其更改为:

plt.xticks(range(1,(dfAll.pair.shape[0]+1)), dfAll.pair, rotation='vertical')

作为旁注,由于您的值为
y=0
,因此我将
ylim()
扩展到
-5

,这部分解决了我的问题。当第一个X点位于正确位置时,最后一个方框仍然没有tic。根据你的答案尝试一些东西。谢谢。我也明白了。补充我自己的答案。然后在看到你的评论后删除。谢谢