Спасибо Хейкки за помощь.Следующий код работает, чтобы использовать значения осей для рисования на картезианском холсте данных:
chtCanvas.drawRect(axisDate.minimum as Date, axisSalary.maximum, axisDate.maximum as Date, axisSalary.minimum);
Приведение значений, поскольку Date действительно помогло.Оставшаяся часть кода, использованного выше, не нужна.
Стоит отметить, что я использовал DateFormatter для форматирования значений даты из моих данных.Что я не учел, так это то, что при использовании DateTimeAxis Flex автоматически добавит дополнительные даты для отображения на оси.В моем случае я использовал пользовательскую функцию анализа для создания MY точек, но не учитывал точки, которые создавал Flex, а также передавал их в мою функцию анализа (поэтому они не обрабатывались правильно).После того как я исправил это, значения выложены правильно в случае нескольких точек данных.У меня все еще есть небольшая проблема с отдельными точками данных, и они не заполняют диаграмму полностью, но они теперь рисуют.
ОБНОВЛЕНИЕ : Хотя есть признаки жизни,минимум и максимум все еще не рисуют всю ширину диаграммы в некоторых случаях, в зависимости от комбинации dataUnits и labelUnits.
UPDATE # 2: решено Хорошо, поэтому ось работает как минимальное / максимальное значения для декартовойData Canvas, но есть кое-что важное, что нужно запомнить.Для одной точки (и, вероятно, для нескольких точек, я просто не мог видеть разницу) при использовании пользовательской функции синтаксического анализа DateTimeAxis, такой как в учебниках по Adobe Flex ASDoc:
private function axisDateParseFunction(item:String):Date
{
var inputDate:String = item;
inputDate = fmtDate.format(inputDate);
var newDate:Date = new Date();
if(inputDate)
{
var a:Array = inputDate.split('/');
newDate.fullYear = a[2];
newDate.month = a[0] - 1;
newDate.date = a[1];
newDate.hours = 0;
newDate.hoursUTC = 0;
newDate.minutes = 0;
newDate.minutesUTC = 0;
newDate.seconds = 0;
newDate.secondsUTC = 0;
newDate.milliseconds = 0;
newDate.millisecondsUTC = 0;
}
return newDate;
}
ВыОБЯЗАТЕЛЬНО не забудьте установить значения UTC, как показано выше.Поскольку DateTimeAxis использует дату и время, при создании новых объектов Date их значения времени также устанавливаются на локальное системное время.Не забудьте также установить эти значения на ноль, иначе вы получите точки, которые точно не совпадают с метками осей.