Я бы создал компонент с нуля, возможно, на основе компонента Canvas, и добавил бы строки и метки, разделив ширину компонента на количество строк (или что-то в этом роде - я не лучший в математике) .
Вы также можете реализовать функцию всплывающего окна с информацией, когда пользователь наводит курсор на определенную часть временной шкалы.
То, что вы хотите, имеет характерные для временной шкалы функции, которых нет у осей диаграммы. Я бы не пошел на компромисс с использованием компонента, не предназначенного для этой конкретной задачи, а также с ошибками или обходными обходными путями. Flex был создан для быстрого расширения, так почему бы не воспользоваться этой функцией?
РЕДАКТИРОВАТЬ : формулы
Чтобы определить положение тиков, вам нужно разделить ширину временной шкалы на количество тиков минус один. Скажем, у нас была временная шкала 400px с 5 тиками (считая те, что на дальних сторонах временной шкалы). Мы считаем, что тики начинаются с 0. Все, что нам нужно сделать, чтобы получить положение тиков, это разделить 400 на 4 и умножить это на число тиков.
В коде:
for (var i : int = 0; i < num_ticks; i++) {
ticks[i].x = timeline_width / num_ticks-1 * i;
// do some drawing of the ticks
}
Я проведу вас через это.
Отметьте 0 слева, в точке x 0. 400/4 * 0 = 0
Тик 1, в крайнем левом углу, на х 100. 400/4 * 1 = 0
Тик 2, посередине, на х 200. 400/4 * 2 = 200
И т. Д., Отметьте 3 при x 300 и 4 при x 400 (в крайнем правом углу).
Что делать, если приведенная выше формула возвращает десятичное число? Вокруг этого! Пользователи едва заметят разницу в один пиксель (хотя я думаю, что такие операции с целыми числами округляются автоматически).
Вы можете добавить поле слева или справа от временной шкалы, выполнив timeline_width-margin (должно быть четным числом) и увеличив позицию x каждого тика на половину. Это добавит немного места с каждой стороны и центрирует галочки.
Если вам повезет, я скоро смогу сделать для вас рабочий прототип; -)