У меня есть линейная диаграмма слияния с указателем над диаграммой, где значение указателя постоянно обновляется динамически, и я пытаюсь расположить указатель на основе значения в файле xml, но проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда указатель перемещается, весь график обновляется, мое требование состоит в том, чтобы переместить только указатель, полная диаграмма не должна обновляться, может ли кто-нибудь помочь, чтобы реализовать эту функцию, я пытаюсь следовать примеру, показанному в следующей ссылке http://www.fusioncharts.com/widgets/Gallery/Linear3.html
Как динамически изменить положение указателя на диаграмме слияния линейных датчиков
Ответы (1)
Вы всегда можете обновить значение указателя Linear Gauge с помощью JavaScript или потоковой передачи данных в реальном времени.
Скажем, например, вы создали диаграмму, используя следующий XML:
<chart lowerLimit='0' upperLimit='100' lowerLimitDisplay='Bad' upperLimitDisplay='Good' palette='1' numberSuffix='%' chartRightMargin='20'>
<colorRange>
<color minValue='0' maxValue='75' code='FF654F' label='Bad'/>
<color minValue='75' maxValue='90' code='F6BD0F' label='Moderate'/>
<color minValue='90' maxValue='100' code='8BBA00' label='Good'/>
</colorRange>
<pointers>
<pointer value='92' />
</pointers>
</chart>
и диаграмма отображается с использованием следующего JavaScript:
var myChart = new FusionCharts("Charts/HLinearGauge.swf", "myChartId", "450", "120", "0", "1");
myChart.setDataURL("Data/Linear3.xml");
myChart.render("chartdiv");
Теперь вы можете обновить эту диаграмму, используя следующий код JavaScript:
getChartFromId("myChartId").setData(1, 20);
Существуют и другие функции API, такие как: setDataForId(Id, value) или feedData(updateDataQueryString)
e.g.,
getChartFromId("myChartId").setDataForId("p1", 40) ;// this requires the pointer to be set with an id which needs to be provided here as the first parameter
or
getChartFromId("myChartId").feedData("&value=90") ;
который вы также можете использовать для обновления только данных существующего датчика.
Для получения дополнительной информации прочитайте: http://www.fusioncharts.com/widgets/docs/Contents/Linear_JSPAPI.html
Узнайте больше о том, как использовать потоковую передачу данных в режиме реального времени на стороне сервера для обновления данных датчика: http://www.fusioncharts.com/widgets/docs/Contents/Linear_RealTime.html
Для этого вам нужно будет создать страницу поставщика данных, вывод которой будет состоять из одной строки в формате строки запроса, например: &value=30