聚集框的pandas boxplot:如何设置多级x轴标签

2024-04-27 15:51:19 发布

您现在位置:Python中文网/ 问答频道 /正文

朋友们

基本上,我有以下pandas数据帧:

Climate Soil Crop irr Temperate Pcg Cabbage 103.5 Temperate Pcg Cabbage 111.1 Temperate Pcg Cabbage 170.1 Temperate Pcg Cabbage 119.3 Temperate Scg Cabbage 123.8 Temperate Scg Cabbage 132.3 Temperate Scg Cabbage 191.9 Temperate Scg Cabbage 129.4 Temperate Zcg Cabbage 138 Temperate Zcg Cabbage 137 Temperate Zcg Cabbage 205.3 Temperate Zcg Cabbage 155.3 Continental Pcg Cabbage 129.6 Continental Pcg Cabbage 224.9 Continental Pcg Cabbage 259.7 Continental Pcg Cabbage 142.6 Continental Scg Cabbage 151.6 Continental Scg Cabbage 254.3 Continental Scg Cabbage 283.5 Continental Scg Cabbage 162.1 Continental Zcg Cabbage 158.1 Continental Zcg Cabbage 275.7 Continental Zcg Cabbage 290.8 Continental Zcg Cabbage 180.1 Subtropical Pcg Cabbage 441 Subtropical Pcg Cabbage 515.4 Subtropical Pcg Cabbage 554.6 Subtropical Pcg Cabbage 495.2 Subtropical Scg Cabbage 465.7 Subtropical Scg Cabbage 538.2 Subtropical Scg Cabbage 567.8 Subtropical Scg Cabbage 510.1

我想画出按气候和土壤类型分组的“irr”变量。使用下面的python代码,我成功地得到了我想要的:

好吧,几乎是因为结果不是很令人满意(请注意,我只给出了卷心菜的数据,但其他数据的处理方式完全相同):

enter image description here

您可以看到X轴标签是如何重叠的。另外,我不想重复每种土壤类型的气候类型。相反,我想将土壤类型按气候类别分组:

Zcg Scg Pcg Zcg Scg Pcg Zcg Scg Pcg Temperate Subtropical Continental

我想让气候和土壤按以下顺序出现在图中:

温带-亚热带-大陆性

Zcg->;Scg->;Pcg

我使用的是熊猫0.15.2版


Tags: 数据gt类型pandas朋友气候土壤irr
1条回答
网友
1楼 · 发布于 2024-04-27 15:51:19

Seaborn这样做,包括指定非字母顺序:

import seaborn as sns
cbg = pd.read_clipboard()
cbg.columns = ['Climate','Soil','Crop','irr']
sns.factorplot('Soil', x_order=['Zcg','Scg','Pcg'],
               col='Climate', col_order=['Temperate','Subtropical','Continental'], 
               row='Crop', y='irr', kind='box', data=cbg)

enter image description here

相关问题 更多 >