Python matplotlib箱线图xticks向y轴移动
我是matplotlib的初学者,尝试为使用pandas提取的数据绘制箱线图 我成功地得到了箱线图,除了xtics外,它看起来和我想要的完全一样。这些XTIC正在向yaxis转移。我不知道为什么 以下是我的示例阵列: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
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。根据你的答案尝试一些东西。谢谢。我也明白了。补充我自己的答案。然后在看到你的评论后删除。谢谢