用高图设置符号标记

时间:2011-10-21 18:08:05

标签: javascript jquery arrays highcharts

highchart有一个选项,可让我将标记设置为特定值。

highchart doc:

...
     data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
        y: 26.5,
        marker: {
           symbol: 'url(/demo/gfx/sun.png)'
        }
     }, 23.3, 18.3, 13.9, 9.6]
...

如您所见,位置26.5获得了一个png图像作为其标记。

我的问题是:如何从数组中将其设置为某个值?

$.getJSON('ajax/lineChart.ajax.php', function(data) {        
    $.each(data, function(key, value) {
        var series = { 
            data: [ {
                y: 0,
                marker: {
                    symbol: 'url(img/fail.png)'
                }
            }], //data array for new series
            name: key,
            marker: {
                    symbol: 'square'
                }
        }; 
        series.data = value;
        options.series.push(series); // <-------- pushing series object
    });
    var chart = new Highcharts.Chart(options);  
});
我试过这个,但没有出现。该图表没有标记。

1 个答案:

答案 0 :(得分:2)

该行:

series.data = value;

覆盖你在

中写的任何内容
var series = { 
        data: [ {

我不确定你在“data”变量中有什么,但是假设它是[key:[val1,val2,...],...],请尝试用“serial.data = value”替换以下内容:

var list= new Array();
foreach(var v as value){
   if (v==0){ //or what ever condition you need to use a different mark 
      var m={
            y: v,
            marker: {
                symbol: 'url(img/fail.png)'
            }};
      list.push(m);       
   } 
   else{
      list.push(v);
   }
}
series.data = list;