seaborn - 从两个数据帧中并排绘制箱线图和晶须图
问题描述
我希望将这两个箱线图组合成一张图像:[![这是我能够制作箱线图的两个数据文件,以便轻松使用 Seaborn 箱线图][1]][1]
我使用的数据文件来自多个 excel 电子表格,如下所示:
0 | 1 | 2 | 3 | 4 | 5 | 6 | ... |
---|---|---|---|---|---|---|---|
5 | 2 | 3 | 5 | 6 | 2 | 5 | ... |
2 | 3 | 4 | 6 | 1 | 2 | 1 | ... |
1 | 2 | 4 | 6 | 7 | 8 | 9 | ... |
... | ... | ... | ... | ... | ... | ... | ... |
列标题代表小时,列值是我想用来创建箱线图和晶须图的值。
目前我的代码是这样的:
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
xls = pd.ExcelFile('ControlDayVar.xlsx')
df1= pd.read_excel(xls, 'DE_ControlDays').assign(Location=1)
df2= pd.read_excel(xls, 'DE_FestDays').assign(Location=2)
DE_all =pd.concat([df1,df2])
DE= pd.melt(DE_all, id_vars=['Location'], var_name=['Hours'], value_name='Concentration')
ax= sns.boxplot(x='Hours', y= 'Concentration', hue= 'Location', data=DE)
plt.show()
The result I get is this:
[![Yikes][2]][2]
I expect my issue has to do with the format of my data files, but any help would be appreciated.Thanks!
[1]: https://i.stack.imgur.com/dXo6F.jpg
[2]: https://i.stack.imgur.com/NEpi7.jpg
解决方案
如果以某种方式Concentration
不再将值正确识别为数字数据类型,则可能会发生这种情况。在这种情况下,y 轴不能再被理解为连续的,这会导致“yikes”结果。
推荐阅读
- python - 不健康的部署
- ios - Flutter:1.20.2:在 iPhone 上启动应用程序时出错
- excel - VBA 代码太慢 - 需要 6 小时才能执行输出
- arrays - Vue中如何使用html表格生成JSON数据
- google-apps-script - 有没有办法将 Google Apps 脚本触发器设置为基于多个电子表格之一的编辑?
- java - jlIllegalArgumentException:不是托管类型
- r - 使用 tidyr 转换数据框
- html - 使用参数生成的 HTML 表
- c# - 找到由该方法生成的数组中的最大数
- excel - 在不更改布局的情况下将数据从 power bi 传输到 excel