Ошибка масштабирования Flex PlotChart в findDataPoints()
Я наткнулся на этот замечательный учебник о том, как увеличить масштаб диаграммы, нарисовав прямоугольник в 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, так как он находится в МЖК.
Кто-нибудь пытался применить следующее к PlotChart вместо этого и получил DataTips, чтобы показать? Что такое функция переопределения в findDataPoints()?
Спасибо
2 ответа
Несколько дней назад у меня была такая же проблема с 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);
}
}
}
Я надеюсь, что это может помочь вам
Если вы спрашиваете, как решить проблему "filterDataPoints" при доступе к точкам диаграммы, вам просто нужно создать собственный класс Series, скопировать в него код из PlotSeries и изменить все, что не удалось во время выполнения. Какую ошибку вы получаете?