ポインター値が動的に更新され続けるチャートの上にポインターを持つ線形ゲージフュージョンチャートがあり、xmlファイルの値に基づいてポインターを配置しようとしていますが、私が直面している問題は、ポインターが再配置されるたびです。グラフ全体が更新されます。私の要件は、ポインターのみを再配置することです。チャート全体を更新する必要はありません。この機能を実装するために、誰か助けてください。次のリンクhttp://www.fusionchartsに示されている例に従おうとしています.com/widgets/Gallery/Linear3.html
1 に答える
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>
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);
setDataForId(Id, value) または feedData(updateDataQueryString) のような他の API 関数があります。
例えば、
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
また
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