0

LineChart で四角形を描画してズームインする方法に関するこの素晴らしいチュートリアルに出くわしました ( http://blog.ninjacaptain.com/2010/03/flex-chart-zoom-window/ ) が、私は代わりに PlotChart に適用しようとしていますが、次のエラーで DataTips を表示しようとして問題が発生しています:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.charts.series::PlotSeries/findDataPoints()[E:\dev\4.5.1\frameworks\projects\charts\src\mx\charts\series\PlotSeries.as:961]
    at mx.charts.chartClasses::ChartBase/findDataPoints()[E:\dev\4.5.1\frameworks\projects\charts\src\mx\charts\chartClasses\ChartBase.as:2069]
    at mx.charts.chartClasses::ChartBase/mouseClickHandler()[E:\dev\4.5.1\frameworks\projects\charts\src\mx\charts\chartClasses\ChartBase.as:4823]

LineChartSeries の拡張と findDataPoints() 関数のオーバーライドについて言及されているリンクですが、PlotSeries.as を拡張するために同じことを試みた後、sortOnXField は未定義のようで、PlotSeries.as にあるためアクセスできません。 SWC。

代わりに以下を PlotChart に適用して、DataTips を表示しようとした人はいますか? findDataPoints() のオーバーライド関数は何ですか?

ありがとう

4

2 に答える 2

2

数日前、私は PieSeries で同じ問題を抱えていました。

「filterDataPoints」関数で「_renderData.filteredCache」がnullである理由はまだわかりませんが、PieSeriesクラスを次のように拡張する問題を解決しました。

package com.eque.report.model {

import mx.charts.series.PieSeries;

public class MyPieSeries extends PieSeries {

    public function MyPieSeries () {
        super();
    }

    /**
     * 'findDataPoints' function has been overriden in order to prevent
     * '_renderData.filteredCache' is null.
     */
    override public function findDataPoints(x:Number, y:Number, sensitivity:Number):Array {
        if (renderData.filteredCache == null) {
            renderData.filteredCache = [];
        }
        return super.findDataPoints(x, y, sensitivity);
    }

}
}

お役に立てば幸いです

于 2012-12-12T09:12:38.297 に答える
0

チャート ポイントにアクセスする際の「filterDataPoints」の問題を解決する方法について質問している場合は、独自の Series クラスを作成し、その中に PlotSeries のコードをコピーして貼り付け、実行時に失敗したものを変更するだけです。どのようなエラーが表示されますか?

于 2011-09-08T06:21:02.917 に答える