2016-08-27 2 views
1

У меня есть диаграмма highstock. На этой диаграмме я хочу установить сюжетную линию для цели, к которой пользователь может войти, например.Как показать сюжетные линии на highstock, когда его набор намного выше, чем в серии данных?

yAxis: { 
     plotLines: [{ 
      value: 1000, 
      color: 'red', 
      dashStyle: 'shortdash', 
      width: 2, 
      label: { 
       text: 'Target' 
      } 
     }] 
}, 

Если цель находится в пределах минимального и максимального диапазона данных серии, то это показывает на графике, как это: jsFiddle.

Но если сюжетная линия установлена ​​намного выше, чем серия данных min или max, то сюжетная линия не отображается на диаграмме примерно так: jsFiddle. Как я могу убедиться, что сюжетная линия отображается на диаграмме высот, независимо от того, какой номер является целью?

ответ

2

Я думаю, что одна идея состоит в том, чтобы использовать yAxis.min и yAxis.max для установки минимальной и максимальной оси, которая будет соответствовать вашим требованиям. Здесь вы можете найти пример того, как это может работать:

yAxis: { 
    max: 1200, 
    plotLines: [{ 
     value: 1100, 
     color: 'red', 
     dashStyle: 'shortdash', 
     width: 2, 
     label: { 
     text: 'Target' 
     } 
    }] 
    }, 

http://jsfiddle.net/bo36afyt/1/

Вы также можете добавить невидимые серии, которые будут принимать участие в подсчете крайностей:

var data2 = []; 
Highcharts.each(data, function(p, i) { 
    data2.push([p[0], 1100]); 
}); 


    series: [{ 
    name: 'AAPL', 
    data: data, 
    tooltip: { 
     valueDecimals: 2 
    } 
    }, { 
    name: 'ghost', 
    data: data2, 
    enableMouseTracking: false, 
    color: 'rgba(0,0,0,0)' 
    }] 

http://jsfiddle.net/bo36afyt/2/

+0

Благодарю. Это работает! – kevinabraham

Смежные вопросы