gpt4 book ai didi

python - matplotlib boxplot xticks 向 y 轴移动

转载 作者:行者123 更新时间:2023-12-01 04:25:06 27 4
gpt4 key购买 nike

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

我成功地获得了箱线图,它看起来完全像我想要的,除了 xtics 之外。这些 xtics 正在向 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 boxplot 代码:

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

Box Plot Image with xticks shifted  towards y axis.

知道为什么会发生这种情况,以及如何获得适当的 xtics?

最佳答案

错误在于这一行:

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

关于python - matplotlib boxplot xticks 向 y 轴移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com