2009-12-21 1 views
0

В моем приложении я использую BarChart для отображения данных. Однако текст на оси категории может быть слишком длинным для отображения на диаграмме, поэтому flex автоматически корректирует размер шрифта до того, что данные либо нечитабельны, либо текст частично виден.Flex BarChart long text

Длина текста меняется каждый раз, когда появляются новые данные, поэтому я не могу установить атрибут gutterLeft статическому значению во время выполнения.

Две вещи, которые приходят на ум являются:

  1. Изменение Желоб динамически в соответствии с новыми данными

  2. Есть полоса прокрутки на CategoryAxis так, что если текст не помещается в пространство, пользователь может прокрутить, чтобы увидеть его

Любая помощь будет оценена.

EDIT: У меня есть сотни строк данных, которые сразу отображаются, поэтому я не могу использовать легенду для каждого элемента.

Кроме того, я не знаю, как изменить свойство gutterLeft с помощью ActionScript. Сделать это в MXML так же просто, как

gutterLeft="100" 

, но я не могу получить доступ к собственности с помощью ActionScript. Я также пытался связать переменную gutterLeft с целым числом и изменить это целое число, и оно все еще не работает. : |

+0

прилипает к вашей первой идее. Наличие свитков в середине страницы - плохая новость, вызывает раздражение пользователя. – invertedSpear

+0

рассмотрим еще пару вариантов. Вы можете добавить аббревиатуру к вашему набору данных с коротким лимитом символов, чтобы вы могли заранее знать максимальную длину или использовать легенду, чтобы вам вообще не нужен какой-либо текст на оси категории. – invertedSpear

+0

Можете ли вы разместить mxml для своей диаграммы? Я не эксперт по диаграмме, но, увидев, что mxml должен дать мне представление о том, как манипулировать им с AS. Кроме того, что вы пытались сменить это желобе, с этим не удалось? – invertedSpear

ответ

0

проблема заключается в том, что gutterleft является стилем, и поэтому его необходимо установить как единое целое при использовании actionscript.

Я надеялся увидеть код, чтобы дать более подробный ответ, но что вы хотите сделать, это:

mychart.setStyle("gutterLeft",500);