C3创建带有分类JSON数据的条形图

时间:2018-06-11 21:39:40

标签: javascript charts c3.js

如何通过JSON加载数据为C3条形图指定x轴标签?我没有在文档中看到任何内容,而我发现的最接近的是this,但它只给出了以列格式指定的数据的示例,而我有以JSON格式指定的数据,如in this example

我的尝试:

const chart = c3.generate({
            data: {
                // x: "title",
                json: bookData,
                type: "bar",
                keys: {
                    value: ["count"]
                }
            },
            axis: {
                x: {
                    tick: {
                        values: labels,
                        rotate: 90,
                    },
                    type: "category",
                }
            },
            bindto: "#book-title-histogram",
        });

通过取消注释x: "title",它会导致情节不再可见。在该行注释掉后,轴只是空白。

编辑:bookData是一个数组,每个元素都有键counttitle

1 个答案:

答案 0 :(得分:1)

看起来您的数据映射有效。

const bookData = [{
  count: 3,
  title: 'The Foutainhead'
},{
  count: 4,
  title: 'Fight Club'
},{
  count: 2,
  title: 'Ender\'s Game'
}]

const titles = bookData.map((obj) => {
  return obj.title
})

const counts = bookData.map((obj) => {
  return obj.count
})

console.log(titles)

const chart = c3.generate({
            data: {
                x: 'title',
                y: 'count',
                json: {
                    title: titles,
                    data: counts,
                },
                type: "bar",
            },
            axis: {
                x: {
                    tick: {
                        count: bookData.length,
                        rotate: 45,
                    },
                    type: "category",
                }
            },
            bindto: "#book-title-histogram",
        });

enter image description here