0

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

我使用 PHPExcel 将图表数据从 Excel 工作表转换为 json。然后我使用此 json 将其数据转换为与 highcharts 兼容的数据源。

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

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

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

{
    "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 中的错误?

解决办法是什么?当“类型”为“分散”时,只需将“值”与“类别”交换?

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

4

2 回答 2

1

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

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

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

于 2013-04-29T13:32:03.113 回答
0

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

于 2013-04-29T17:12:20.093 回答