2

写真に示されているシリーズの折れ線グラフがあるとします。EnhancedLegendRendererでシリーズのオンとオフを切り替えると、シリーズは非表示と表示の間で切り替わります。それが本来あるべき姿です。ただし、y値が最も高いシリーズがチャートの一番上に表示され、同時にy軸の値が調整されるように、表示されたままの系列を拡大縮小する必要があります。下の図は、値が最も高いシリーズを非表示に切り替えたときの外観を示しています。

これを行うための簡単な、または高度な方法はありますか?データからシリーズを削除し、新しいjqplotを作成することで、チャートからシリーズを完全に削除しようとしました。しかし、それはもう伝説にも表示されません。また、chart.series [i] .show=falseでさまざまなアプローチを試しました。chart.replot(); などですが、同じ結果になります。

画像をプロット 画像をプロット

4

2 に答える 2

5

同じことを行う、文書化されていないrenderOptionも使用できます。

seriesToggleReplot: { resetAxes: true }

だから私の伝説は次のようになります:

legend: {
    show: true,
    renderer: $.jqplot.EnhancedLegendRenderer,
    rendererOptions:{
        seriesToggleReplot: { resetAxes: true }
    },
    placement: 'outside'
}
于 2013-02-12T10:28:56.297 に答える
0

このための実際の組み込みソリューションが見つからなかったため、独自の回避策を作成しました。

選択したシリーズの各y値を凡例から「0」に設定し、次にchart.replot()を設定することにより、チャートは残りのシリーズ値で再プロットされます。

var j = //index of chosen serie.
for(var i = 0;i < chart.series[j].data.length ;i++)
    {
      chart.series[j].data[i][1] = 0
      //1 is the index of the y-value.
    }
于 2012-11-07T22:42:44.863 に答える