You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

hvplot运行失败求助:箱线图代码执行报错排查

排查hvplot箱线图代码报错问题

运行代码

loan_amnt_box = data.hvplot.box(
    y='loan_amnt', subplots=True, by='loan_status', width=300, height=350, 
    title="Loan Status by Loan Amount ", xlabel='Loan Status', ylabel='Loan Amount'
)

installment_box = data.hvplot.box(
    y='installment', subplots=True, by='loan_status', width=300, height=350, 
    title="Loan Status by Installment", xlabel='Loan Status', ylabel='Installment'
)

loan_amnt_box + installment_box

报错信息

报错信息截图1
报错信息截图2

错误原因及解决方法

  • 核心问题:同时使用subplots=True和by参数时,hvplot返回的是单个BoxWhisker对象,而非支持+拼接的布局类对象,而BoxWhisker本身不支持+运算符,因此触发AttributeError。
  • 解决方法:
    1. 移除subplots=True参数:使用by参数时,hvplot会自动按分组生成子图并返回可直接拼接的Layout对象,修改后代码:
      loan_amnt_box = data.hvplot.box(
          y='loan_amnt', by='loan_status', width=300, height=350, 
          title="Loan Status by Loan Amount ", xlabel='Loan Status', ylabel='Loan Amount'
      )
      
      installment_box = data.hvplot.box(
          y='installment', by='loan_status', width=300, height=350, 
          title="Loan Status by Installment", xlabel='Loan Status', ylabel='Installment'
      )
      
      loan_amnt_box + installment_box
      
    2. 若需保留subplots=True,手动将对象包装进Layout:
      from holoviews import Layout
      
      loan_amnt_box = data.hvplot.box(
          y='loan_amnt', subplots=True, by='loan_status', width=300, height=350, 
          title="Loan Status by Loan Amount ", xlabel='Loan Status', ylabel='Loan Amount'
      )
      
      installment_box = data.hvplot.box(
          y='installment', subplots=True, by='loan_status', width=300, height=350, 
          title="Loan Status by Installment", xlabel='Loan Status', ylabel='Installment'
      )
      
      Layout([loan_amnt_box, installment_box])
      

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:54:25