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

Python使用dash_alternative_viz集成Highcharts时气泡图数据输入问题求助

dash_alternative_viz 绘制 Highcharts 气泡图配置方案

气泡图渲染失败/报错90%以上是数据格式不符合Highcharts原生要求,该组件封装时没有做特殊格式转换,完全对齐Highcharts原生配置规则,和常规柱状图的数据格式有明显区别。

核心格式要求

  • 单个气泡点数据必须为三元组结构:[x轴数值, y轴数值, 气泡尺寸数值]
  • 所有数值必须为数字类型,不能传入字符串格式的数字、空值,否则会直接导致渲染空白
  • 必须在配置中显式声明图表类型为bubble,组件无法自动识别气泡图类型
  • 多系列场景下,每个系列的data字段都需要遵循上述三元组规则

可直接运行的最小示例

import dash
from dash import html
import dash_alternative_viz as dav

# 初始化应用
app = dash.Dash(__name__)

# 气泡图数据:每个子数组对应一个气泡,顺序为[x, y, 气泡大小]
bubble_dataset = [
    [12, 23, 45],
    [28, 46, 72],
    [35, 18, 33],
    [47, 72, 90],
    [59, 34, 27],
    [66, 81, 63],
    [73, 29, 51],
    [88, 55, 38],
    [92, 12, 19],
    [19, 67, 84]
]

# Highcharts 原生配置
chart_options = {
    "chart": {
        "type": "bubble",
        "height": 500
    },
    "title": {
        "text": "气泡图演示"
    },
    "xAxis": {
        "title": {"text": "X轴维度"},
        "min": 0,
        "max": 100
    },
    "yAxis": {
        "title": {"text": "Y轴维度"},
        "min": 0,
        "max": 100
    },
    "tooltip": {
        "pointFormat": "X值: {point.x}<br/>Y值: {point.y}<br/>气泡大小: {point.z}"
    },
    "series": [
        {
            "name": "测试系列",
            "data": bubble_dataset,
            "marker": {
                "fillOpacity": 0.6
            }
        }
    ]
}

# 应用布局
app.layout = html.Div([
    dav.HighChart(
        id="demo-bubble-chart",
        options=chart_options
    )
])

if __name__ == "__main__":
    app.run_server(debug=True)

进阶配置说明

如果需要给单个气泡自定义名称、颜色等属性,可以在三元组后面追加配置对象,格式如下:

custom_bubble_data = [
    [12, 23, 45, {"name": "点位A", "color": "#ff4d4f"}],
    [28, 46, 72, {"name": "点位B", "color": "#52c41a"}]
]

如果需要做多系列气泡图,只需要在series数组中追加多个系列对象即可,每个系列独立配置数据和样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:27:35