Apache flex 条形图-垂直居中标签
这项任务似乎不太艰巨,但在过去的几个小时里它一直阻碍着我。我正在做一个堆叠条形图,我希望标签在每个条形段内水平和垂直居中。标签设置为“内部”。这样,可以通过设置label align:middle轻松地将标签水平居中,但似乎没有任何东西可以处理垂直方向 下一种方法是创建条形图的自定义组件,但当我处理渲染函数时,它会变得非常混乱。我以为这只是修改这行代码:Apache flex 条形图-垂直居中标签,apache-flex,bar-chart,flex-charting,Apache Flex,Bar Chart,Flex Charting,这项任务似乎不太艰巨,但在过去的几个小时里它一直阻碍着我。我正在做一个堆叠条形图,我希望标签在每个条形段内水平和垂直居中。标签设置为“内部”。这样,可以通过设置label align:middle轻松地将标签水平居中,但似乎没有任何东西可以处理垂直方向 下一种方法是创建条形图的自定义组件,但当我处理渲染函数时,它会变得非常混乱。我以为这只是修改这行代码:v.labelY=v.y+barSeries.seriesRenderData.renderedYOffset-barSeries.series
v.labelY=v.y+barSeries.seriesRenderData.renderedYOffset-barSeries.seriesRenderData.renderedHalfWidth代码>但它不起作用
无论如何,如果有人对此有任何想法,我们将不胜感激。
附件是条形图现在的样子。为了澄清,我希望这些标签(图中的手册)垂直居中
将columnSeries的verticalCenter属性设置为0。
<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!!!
@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/mx";
拉贝尔斯泰尔先生{
垂直排列:中部;
}
享受!!!
我使用的是BarSeries,设置verticalCenter不会影响任何事情。谢谢你的尝试。我还在为这个大发雷霆。但你是在用列的方式显示图表吗?同时尝试将horizontalCenter设置为0。。你也可以使用textAlign属性并将其设置为居中。我现在使用的是一个非常肮脏的hack,我不想使用它。我设置了一个labelFunction并访问了BarSeries,然后更改了labelContainer的y值。我没有找到任何高度或任何东西使其成为动态值,所以现在它是硬编码的。private function labelFunction(element:ChartItem,series:series):String{var data:barserieItem=barserieItem(element);var currentSeries:BarSeries=BarSeries(series);//这需要更新。此处不能有绝对值currentSeries.labelContainer.y=35;返回“”+data.item.label;}