Pandas箱线图中的X轴刻度频率

3
我正在使用pandas groupby来制作风速与方向的条形箱线图。但是,由于许多接近彼此的风向值,因此x轴不易读取。

我已尝试使用oc_params ax.set_xticks,但结果是空的x轴或具有不同值的修改后的x轴。

我的数据框的头部:

    Kvit_TIU     dir_cat  
0   0.064740         14  
1   0.057442         15  
2   0.056750         15  
3   0.069002         17  
4   0.068464         17  
5   0.067057         17  
6   0.071901         12  
7   0.050464          5  
8   0.066165          1  
9   0.073993         27  
10  0.090784         34  
11  0.121366         33  
12  0.087172         34  
13  0.066197         30  
14  0.073020         17  
15  0.071784         16  
16  0.081699         17  
17  0.088014         14  
18  0.076758         14  
19  0.078574         14  

我用 groupby = dir_cat 创建了一个箱线图。
fig = plt.figure() # create the canvas for plotting
ax1 = plt.subplot(1,1,1) 
ax1 = df_KvTr10hz.boxplot(column='Kvit_TIU', by='dir_cat', showfliers=False, showmeans=True)
ax1.set_xticks([30,90, 180,270, 330])

我希望能将x轴的频率降低,以使图表更易读取。 难以阅读的图表 使用ax1.set_xticks 输入图像描述 输入图像描述

1
你能提供一个最小、完整、可验证的示例吗? - CAPSLOCK
Kvit_TIU dir_cat
0 0.064740 14
1 0.057442 14
2 0.056750 15
3 0.069002 15
4 0.068464 17
- Zak
1个回答

0
 ax1 = df_KvTr10hz.dropna().boxplot(column='Kvit_TIU', by='dir_cat', showfliers=False, showmeans=True)

编辑:使用 OP 示例数据框

sample

然而,如果我们将'dir_cat'>=30Kvit_TIU值替换为NaN

samplewithNaN


嗨Gio,感谢回复。这并没有改变任何事情。 - Zak
在你创建了这个图表之后,能否键入 ax1.get_xlim() 并告诉我输出是什么?请勿运行 ax1.set_xlim - CAPSLOCK
所以在我看来,你有很多类别(37),但我会假设所有数据都集中在前几个类别中,其他的可能为空或类似的情况。请尝试以下操作:ax1.set_xlim(0, 2)ax1.set_xlim(0, 4) - CAPSLOCK
我刚刚添加了一个示例。 - Zak
@Zak 无法复制你的问题。在我这里运行正常。 - CAPSLOCK
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接