我有一张来自Highcharts的散点图,在y轴上我放了强度'值,在x轴上我有日期时间(月,日,年)。
chart: {
type: 'scatter',
zoomType: 'xy',
renderTo: 'chartContainer'
},
rangeSelector: {
enabled: true
},
xAxis: {
title: {
enabled: true
},
type: 'datetime',
dateTimeLabelFormats:{
month: '%e. %b %Y',
year: '%b'
},
startOnTick: true,
endOnTick: true,
showLastLabel: true
},
yAxis: {
title: {
text: 'Intensity'
},
min: 0,
max: 100
},
plotOptions: {
scatter: {
marker: {
radius: 5,
states: {
hover: {
enabled: true,
lineColor: 'rgb(100,100,100)'
}
}
},
states: {
hover: {
marker: {
enabled: false
}
}
},
events: {
click: function(event) {
showMoreData();
}
}
}
},
series: [{
name: 'Male',
color: 'rgba(144,36,58, .8)',
data: getDataParsed()
}]
这些数据是从另一个函数getDataParsed()
加载的,我在其中执行ajax GET并获取多个数据。问题是我如何传递更多数据(也包括强度和日期时间),以便稍后在散点图中使用。
function getDataParsed() {
var serie = [];
var i=0;
dolorCollect.forEach(function (dato) {
var arr = dato.FECHA_INICIO.split("/");
var hour = dato.HORA_INICIO.split(":");
serie[i]= [Date.UTC(arr[2],arr[1]-1,arr[0],hour[0],hour[1]),dato.INTENSIDAD_DOLOR];
i++;
});
return serie;
}
答案 0 :(得分:1)
在每个数据点中串联更多数据'数据你可以:
具有命名值的对象数组。对象是点配置对象,如下所示。如果数据点的总数超过系列' turboThreshold,此选项不可用。
data: [{ x: 1, y: 2, name: "Point2", color: "#00FF00" }, { x: 1, y: 4, name: "Point1", color: "#FF00FF" }]
因此可以使用以下代码设置相同的数据:
series:[{
data: [
[1, 2, "Point2", "#00FF00"],
[1, 4, "Point1", "#FF00FF"]
],
keys: ['x','y','name','color'],
...