【发布时间】:2017-04-28 12:52:36
【问题描述】:
我在这里创建了这个适用于静态数据的 sn-p:
Highcharts.chart("container", {
title: {
text: "Highcharts pie chart"
},
xAxis: {
categories: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
series: [
{
type: "pie",
allowPointSelect: true,
keys: ["name", "y", "selected", "sliced"],
data: [
["January", 105],
["February", 400],
["March",230]
],
showInLegend: true
}
]
});
@import "https://code.highcharts.com/5/css/highcharts.css";
.highcharts-series .highcharts-point-select {
fill: #fff;
stroke: #f00;
stroke-dasharray: 10;
}
<script src="https://code.highcharts.com/5/js/highcharts.js"></script>
<div id="container"></div>
现在我正在尝试解析来自 JSON 查询的数据。 JSON 格式如下:
{"headers":["Month","Clicks"],"rows":[["January",105],["February",400],["March",230]]}
所以,目前在 sn-p 中有效的 JSON 格式是:
["January", 105],
["February", 400],
["March",230]
我尝试使用有效示例中使用的解决方案。在这种情况下,我无法正确解析数据。在下面新建的sn-p中,我在JS框的开头添加了一个JS脚本来解析JSON数据。
var unformatted = {"headers":["Month","impressions"],"rows":[["January",124010],["February",545010]]};
var data2 = [];
for (var i = 0; i < unformatted.rows.length; i++) {
var row = unformatted.rows[i];
data2.push({
Month: row[0],
Clicks: row[1]
});
}
Highcharts.chart("container", {
title: {
text: "Clicks per Month"
},
xAxis: {
categories: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
series: [
{
type: "pie",
allowPointSelect: true,
keys: ["name", "y", "selected", "sliced"],
data: data2
,
showInLegend: true
}
]
});
@import "https://code.highcharts.com/5/css/highcharts.css";
.highcharts-series .highcharts-point-select {
fill: #fff;
stroke: #f00;
stroke-dasharray: 10;
}
<script src="https://code.highcharts.com/5/js/highcharts.js"></script>
<div id="container"></div>
【问题讨论】:
标签: javascript html css json highcharts