BarChart - вертикальный центр этикетки - PullRequest
0 голосов
/ 14 марта 2011

Эта задача не кажется слишком сложной, но она блокирует меня последние пару часов. Я делаю гистограмму с накоплением и хочу, чтобы надписи были центрированы по горизонтали и вертикали в каждом сегменте гистограммы. Ярлыки должны быть «внутри». Таким образом, вы можете легко отцентрировать метку по горизонтали, установив label-align: middle, но, похоже, нет ничего, что могло бы справиться с вертикальным аспектом.

Следующим подходом было создание пользовательского компонента линейчатой ​​диаграммы, но это было очень грязно, когда я возился с функциями рендеринга. Я думал, что это будет просто изменить эту строку: v.labelY=v.y + barSeries.seriesRenderData.renderedYOffset - barSeries.seriesRenderData.renderedHalfWidth;, но это не сработало.

В любом случае, если у кого-то есть идеи, как это сделать, это будет с благодарностью.
Прикреплено то, как гистограмма выглядит сейчас. И просто чтобы уточнить, я бы хотел, чтобы эти надписи (руководство на картинке) располагались вертикально по центру.

Demo

Ответы [ 2 ]

2 голосов
/ 17 апреля 2012
    <mx:BarSeries 
                        xField="s1"
                        yField="name"
                        displayName="Employees in shceme"
                        labelAlign="center"
                        labelPosition="inside"
                        styleName="labelStyle"
                        />

    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";

        .labelStyle {
            verticalAlign:middle;
        }
     </fx:Style>

Enjoy!!!
0 голосов
/ 15 марта 2011

Установите свойство verticalCenter для columnSeries равным 0.

...