Я бы создал компонент с нуля, возможно, на основе компонента Canvas, и добавил строки и метки, разделив ширину компонента на количество строк (или что-то в этом роде - я не лучший из математики).
Вы также можете реализовать функцию, чтобы вытащить окно с информацией, когда пользователь мыши выйдет за определенную часть временной шкалы.
Что вы хотите, имеют особенности, относящиеся к временной шкале, которые не имеют оси диаграммы. Я бы не стал компрометировать использование компонента, не созданного для этой конкретной задачи, и введения ошибок или нестандартных действий. Flex был создан для быстрой расширяемости, поэтому почему бы не воспользоваться этой функцией?
EDIT: Формулы Чтобы получить позицию клещи, вы должны были бы разделить ширину шкалы времени по количеству тиков минус один. Скажем, у нас была временная шкала в 400 пикселей с 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, в крайнем левом положении, при х 0. 400/4 * 0 = 0
клеща 1, рядом крайнее левое положение, при х 100. 400/4 * 1 = 0
клеща 2, в середине, в точке х 200. 400/4 * 2 = 200
и так далее, клеща 3 при х 300 и 4 в точке х 400 (справа).
Что делать, если приведенная выше формула возвращает десятичную дробь? Кругом! Пользователи едва заметят однопиксельную разницу (хотя я думаю, что такие операции, как это происходит с целыми числами, автоматически).
Вы можете добавить маржу слева или справа от шкалы времени, выполнив margin_width-margin (должно быть четное число) и увеличив положение x каждого тика на половину этого. Это добавит некоторое пространство с каждой стороны и центрирует тики.
Если вам повезет, то я мог бы просто сделать рабочий прототип для вас скоро ;-)
Да, я думал об использовании диаграммы, но не нашел способ, чтобы показать, что данные в таблице , Сейчас я буду играть с ним. Спасибо!. (если вы знаете аналогичный пример, это было бы полезно) –
Ну, возможно, основные и незначительные тики. Если вы можете предоставить более подробную информацию, я могу помочь вам в том, что вам нужно, но из осей, которые вы показали, это должно быть довольно легко сделать. – CookieOfFortune
У меня есть CartesianChart со всеми загруженными данными (мне не нужно отображать серию). Но я не вижу, как показывать только годы (1 января) и 4 маркера до следующего 1 января. Пробовал с AxisRenderer, но я застрял. –