Flex MX: Axisrenderer Как предотвратить масштабирование метки
-
22-09-2019 - |
Вопрос
У меня есть линейная диаграмма, которая иногда содержит ряд точек данных. Я решил, как предотвратить отображение горизонтальной оси, используя слишком много меток, используя пользовательские функции метки и функции данных. Моя проблема заключается в том, чтобы заставлять осиндердер не масштабировать мои этикетки.
Я использую свойство MabelRotation, чтобы свойства Candroplabels и Canstagger не вариант.
Заранее спасибо за любые ответы.
Решение
Попробуйте использовать Gutter, Gutter Set для меток оси (если вы хотите, вы можете попробовать прочитать код осиспендера, и посмотрите, как он использует желоб и другие параметры для масштабирования, если это необходимо текст.
Вы можете установить желоб таким стилем (эта работа для меня):
LineChart {
gutterLeft:50;
gutterRight:50;
gutterBottom:50;
}
Другие советы
Я считаю, что это можно сделать, редактируя собственность LabelRenderer. Взгляните на второй пример этого Страница (форматирование диаграмм), они определяют пользовательский компонент для использования в качестве метки. Вы можете сделать что -то подобное, чтобы сохранить любой вид, который вы хотите.
Я столкнулся с той же проблемой. В моем случае (для данных, которые я замышляю), просто настройка canDropLabels
к true
(либо в ActionScript, либо MXML, как показано ниже) привело к расширению распределенных полей (я предполагаю) до текста метки в таблице, так что я никогда не видел, чтобы текст был меньше, чем установлен fontSize
ниже. Попробуйте, это может быть все, что вам нужно.
hAxisRenderer.setStyle("canDropLabels",true);
...
<mx:AxisRenderer id="hAxisRenderer" placement="bottom"
tickPlacement="inside" tickLength="8"
canStagger="false" canDropLabels="false" fontSize="12">
Для справки: http://blog.flexexamples.com/2007/10/16/dropping-labels-in-a-flex-chart/