python - Matplotlib:barh和boxplot之间的错位
问题描述
我正在使用子图和 python 库 matplotlib 绘制一个 barh 和一个箱线图。我目前正在使用以下代码:
fig, ax = plt.subplots(1, 2, figsize=(10,5))
# Just some random data for reproducibility
barg_data = [10,15,18,10,15,18,10,15,18,10,15,18]
barh_labels = ['adjiosajd', 'jsajdoiasd', 'sadasdad', 'adjiosajd',
'jsajdoiasd', 'sadasdad','adjiosajd', 'jsajdoiasd',
'sadasdad','adjiosajd', 'jsajdoiasd', 'sadasdad']
boxplot_data = [[1,3,2],[4,5,6],[7,8,9],[1,3,2],[4,5,6],[7,8,9],
[1,3,2],[4,5,6],[7,8,9],[1,3,2],[4,5,6],[7,8,9]]
boxplot_labels = ['asdasdaff', 'sanasjdn', 'oskfoad','asdasdaff',
'sanasjdn', 'oskfoad','asdasdaff', 'sanasjdn',
'oskfoad','asdasdaff', 'sanasjdn', 'oskfoad']
ax[0].set_title('Barh')
ax[0].barh(range(len(barh_labels)), barg_data, tick_label=barh_labels)
ax[1].boxplot(boxplot_data, vert=False, labels=boxplot_labels)
ax[1].set_title("Boxplot")
我得到了这个结果:
值得注意的是,条形图在箱线图之后开始显示条形。我查找了文档,但找不到任何参数来修复它。
我尝试在子图定义中使用 sharey,但它导致标签重叠,来自以下结果的图像:
解决方案
推荐阅读
- angular - PrimeNG ConfirmDialog 版本更改后未弹出
- reactjs - 当我在 NormalPeoplePicker 中使用 onRenderItem 时,角色样式被破坏
- c# - 我无法将频道设为私有
- java - 使用 JNA 实现 IContextMenu COM 接口
- html - Html - 显示whatsapp分享按钮内的链接文本
- reactjs - 获取选项后反应钩子未设置选择值
- html - 循环插值 SVG 精灵
- github - 在私有存储库的 GItHub 工作流中使用机密
- java - 数据绑定,MaterialCardView 应该像 Radiogroup
- laravel - 谈不上雄辩的关系