2015-10-14 4 views
1

Мне нужно нарисовать довольно простой график для веб-проекта.Рисование простого графика с использованием проецируемых линий

Данные всегда будут одинаковыми, поэтому линия графика не изменится. Тем не менее, мне нужно рисовать поверх прогнозируемых строк графика 2, выделяя некоторые аспекты графика. Эти строки будут меняться в зависимости от некоторой переменной. Вот что я пытаюсь достичь:

chart

Я смотрел на Chart.js, чартистских и несколько других библиотек, но не видел никаких примеров, которые будут рисовать те проецируемые линии, которые мне нужны.

Может кто-нибудь указать мне в библиотеку, которая может это сделать?

+0

взгляд в nvd3 примеры http://nvd3.org/examples/ – Cyril

ответ

2

Вы можете достичь этого с помощью высоких диаграмм.

я нашел почти точно устраивающего пример и слегка изменил его: http://jsfiddle.net/mt2becws/1/

Ниже приведены вызовы настройки «перекрестие» после того, как некоторое время:

setTimeout(function() { 
    addCrosshair(3,14.5); 
}, 1000); 

setTimeout(function() { 
    addCrosshair(2,5.7); 
}, 2000); 

и часть кода действительно делает это:

function addCrosshair(x,y) { 
chart.xAxis[0].addPlotLine({ 
    id: 'xPlotLine'+x, 
    value: x, 
    width: 1, 
    color: '#C0C0C0' 
}); 

chart.yAxis[0].addPlotLine({ 
    id: 'yPlotLine'+y, 
    value: y, 
    width: 1, 
    color: '#C0C0C0' 
}); 
} 
+1

спасибо за это, но я провел день, делая это в D3 и он работает как ожидалось. – b0Gd4N

+0

хорошо для вас тогда :) – wisnia

1

Успели сделать это с помощью D3, следуя примеру здесь My Favorite tooltip method for a line graph

Пришлось изменить несколько вещей, например, позиционирование всплывающих подсказок (также используя для этого divs, чтобы я мог их также стилизовать) и остановить проецируемую линию x, где она встречает путь графика, среди прочего.

Но вот снимок результата:

enter image description here

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