简体   繁体   中英

set a symbol marker with highchart

highchart has an option which will let me set a marker to certain value.

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]
...

As you can see, the position 26.5 gains a png image as its marker.

My question is: How can I set it to a certain value from my array?

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

i tried this, but nothing appeared. The chart ran without the marker.

The line:

series.data = value;

overwrite whatever you wrote in

var series = { 
        data: [ {

I am not sure what you have in the "data" variable, but assume its is as [key:[val1,val2,...],...], try replace "series.data = value" with the following:

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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM