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

高图文档:

...
     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);
});

我试过了,但是什么也没出现。图表运行时没有标记。

最佳答案

该行:

series.data = value;

覆盖您所写的内容
var series = {
        data: [ {

我不确定您在“data”变量中所拥有的内容,但假设其为[key:[val1,val2,...],...],请尝试使用以下命令替换“series.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;

07-24 09:50
查看更多