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

C3.js嵌套JSON对象访问与加载:新增嵌套数据折线

如何在C3图表中添加来自嵌套JSON对象的折线系列

没问题,我来帮你搞定这个需求!要在现有柱状图基础上新增一条来自嵌套对象的折线,只需要对C3的配置做两处关键修改,具体步骤如下:

1. 先确认你的JSON数据结构

先假设你的JSON数据大概是这样的(嵌套对象以OrdemServico为例,你可以根据实际字段名调整):

[
  {"DataEmiss": "01/01/2024", "TotalOs": 5, "OrdemServico": {"ActiveOs": 3}},
  {"DataEmiss": "02/01/2024", "TotalOs": 7, "OrdemServico": {"ActiveOs": 4}},
  {"DataEmiss": "03/01/2024", "TotalOs": 9, "OrdemServico": {"ActiveOs": 6}}
]

2. 修改C3图表配置

核心修改点:

  • 在data.keys.value数组中,添加嵌套对象的字段路径(用**点号.**连接层级)
  • 通过data.types配置,为新增的系列指定折线类型(覆盖默认的柱状图类型)

修改后的完整代码如下:

var chart = c3.generate({
    bindto: "#graficoProjeto",
    x: 'x',
    data: {
        url: '/AdminOrdemServico/OrdemServProjetos',
        mimeType: 'json',
        xFormat: '%d/%m/%Y',
        keys: {
            x: 'DataEmiss',
            // 新增嵌套字段的路径,替换成你实际的字段名
            value: ['TotalOs', 'OrdemServico.ActiveOs']
        },
        type: 'bar', // 默认系列类型为柱状图
        // 为指定系列设置折线类型
        types: {
            'OrdemServico.ActiveOs': 'line'
        },
        // 可选:为折线系列自定义颜色
        colors: {
            'OrdemServico.ActiveOs': '#ff7f0e'
        }
    },
    axis: {
        x: {
            type: 'timeseries',
            tick: {
                format: '%d/%m/%Y'
            }
        }
    }
});

3. 注意事项

  • 请确保嵌套字段的路径完全匹配你的JSON结构,比如如果嵌套对象是OrdemSer而不是OrdemServico,就改成OrdemSer.你的字段名
  • 如果需要调整折线的样式(比如线宽、点大小),可以额外添加data.axes或grid等配置进一步自定义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:52:26