HighCharts:缺少值的堆积条形图

HighCharts: Stacked bar chart with missing values

本文关键字:条形图 HighCharts      更新时间:2023-09-26

我有一个用于调查问卷结果的堆叠条形图。问题是,这些问题有不同的可能答案(大多数有5个选项,有些只有"是"或"否")。

包含示例的小提琴

HighCharts希望我首先将每个可能的答案列为一个系列(比如答案1-5),然后在每个系列中列出问题:

    series: [{
        name: 'Answer1',
        data: [{
            name: 'Question 1',
            y: 7
        }, {
            name: 'Question 2',
            y: 5
        }]
    },
    {
        name: 'Answer 2',
        data: [{
            name: 'Question 1',
            y: 4
        },{
            name: 'Question 2',
            y: 3
        }]
    },{
        name: 'Answer 3',
        data: [{
            name: 'Question 1',
            y: 2
        },{
            name: 'Question 2 (a yes/no question does not have a 3rd value, but I cannot know that)',
            y: 0
        }]
    }]

我觉得这既麻烦又违背直觉,但我希望我只是做错了。

我的问题是:对于某些问题,数据库返回的答案较少(因为每个人都给出了相同的答案)。在这种情况下,我不知道可能有不止一个答案,因为有些问题不是"选择1-5",而是"1-3"或"是/否"。我的后台不会通知我NULL。当我在HighCharts上写下一个答案时,它会被视为第一个答案,这可能是错误的。

有没有一种方法可以"透视"条形图规范?我想这样写数据:列出问题,然后列出每个问题的答案,缺少选项没有问题:

    series: [{
        name: 'How did you like us',
        data: [{
            name: 'Loved you - 5/5',
            y: 7
        }, {
            name: 'Below average - 2/5',
            y: 5
        }, {
            name: 'Not good - 1/5',
            y: 1
        }]
    },
    {
        name: 'Question 2: Will you come back?',
        data: [{
            name: 'yes',
            y: 4
        },{
            name: 'no',
            y: 3
        }]
    }]

如果你能帮我,那就太棒了。提前感谢!

一种选择是将它们分别绘制为一个单独的图表,但使它们具有相同的大小等,以便它们在彼此下方排列。