установить маркер символа с высокой диаграммой - PullRequest
9 голосов
/ 21 октября 2011
У

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 в качестве своегоmarker.

У меня вопрос: как мне установить для него определенное значение из моего массива?

$.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 Ответ

2 голосов
/ 23 декабря 2011

Строка:

series.data = value;

перезаписать все, что вы написали в

var series = { 
        data: [ {

Я не уверен, что у вас в переменной "data", но предположим, что это как [ключ: [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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...