Ошибка масштабирования Flex PlotChart в findDataPoints () - PullRequest
0 голосов
/ 08 сентября 2011

Я наткнулся на этот замечательный урок о том, как увеличить масштаб графика, нарисовав прямоугольник в LineChart, чтобы увеличить его (http://blog.ninjacaptain.com/2010/03/flex-chart-zoom-window/), но вместо этого я пытаюсь применить его к PlotChart, и я возникли проблемы при попытке отобразить подсказки со следующей ошибкой:

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 ()?

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 декабря 2012

Несколько дней назад у меня возникла та же проблема с PieSeries.

Я еще не нашел, почему '_renderData.filteredCache' является нулевым в функции filterDataPoints, но между тем я решил проблему расширения класса 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);
    }

}
}

Я надеюсь, что это может помочь вам

0 голосов
/ 08 сентября 2011

Если вы спрашиваете о том, как решить проблему «filterDataPoints» при доступе к точкам диаграммы, вам просто нужно создать свой собственный класс Series, скопировать в него код из PlotSeries и изменить все, что не удалось во время выполнения.Какую ошибку вы получаете?

...