Excel,PHPExcel,散点图(XY)和Highcharts。 Excel中散点图的结构

时间:2013-04-26 09:41:38

标签: charts highcharts phpexcel

这个问题是部分优秀和图表问题和部分编程问题。

我使用PHPExcel将图表数据从Excel工作表转换为json。然后我使用这个json将它的数据转换为与高图兼容的数据源。

到目前为止,PHPExcel的图表存储有三种不同的数据类型,标签,类别和值。据我所知,值是图表中的数据,而类别是x轴点。

但是,从excel导出散点图(xy)时,类别和值似乎会被翻转。值是一个数组,其中每个子元素包含与其兄弟元素相同的数据。 (产生不正确的图表),而现在类别的价值不同。

所以其他图表会产生如下数据:

{
    "data": [{
            "label": "V3",
            "category": "T4:T43",
            "value": "V4:V43"
        }, {
            "label": "W3",
            "category": "T4:T43",
            "value": "W4:W43",
        }
    ],
    "type": "column"
}

散点图会产生。

{
    "title": "",
    "data": [{
            "label": "AC1",
            "category": "A$2:AC98",
            "value": "AB2:AB98"
        }, {
            "label": "AD1"
            "category": "AD2:AD98"
            "value": "AB2:AB98"
        }, {
            "label": "AE1",
            "category": "AE2:AE98",
            "value": "AB2:AB98"
        }
    ],
    "type": "scatter"
}

注意类别和值键中的差异和相等性。

在柱形图数据中,数据之间的“值”不同。但是类别相同。

在散点图数据中,类别在数据集之间是不同的,但值相等,是柱形图的对话。

那么这里发生了什么?

是否以这种方式定义了散点图,我需要采取必要的措施来转换这些数据?或者这是PHPExcel中的错误?

解决方案是什么?当“类型”是“分散”时,简单地将“值”与“类别”交换?

非常感谢对此的任何见解!

2 个答案:

答案 0 :(得分:1)

我建议熟悉图表配置,它应该是什么样子。类别应放在xAxis http://api.highcharts.com/highcharts#xAxis.categories中。

除此之外,您还可以使用CSV文件获取数据值(http://docs.highcharts.com/#preprocessing

重要的是,值应该是数字类型,而不是字符串。

答案 1 :(得分:0)

我的解决方案是预处理数据,将“值”键转换为类别数据集,将“类别”转换为数据集。然后我继续将图表配置为inverted: true