У меня есть гистограмма со столбиками, которые нуждаются в особой маркировке. Каждый бар должен отображать значение бара, которому предшествует метка. Чтобы поддержать это, я создал собственную функцию labelFunction для различных BarSeries в BarChart (см. Ниже).
Функция успешно отображает метки, но в случае сгруппированных столбцов значения меток не отображают то, что я хочу. Вместо того, чтобы показывать значение бара, он показывает сумму баров в стеке. Например, если BarSet содержит три бара со значениями 3, 4 и 5, метки отображаются не как «3», «4» и «5», а как «3», «7» и «12». ».
Из этого примера похоже, что я могу добиться желаемых результатов, создав отдельную функцию labelFunction для каждого отдельного BarSeries и получив доступ к определенному свойству (например, data.item. @ FooCount). Тем не менее, я бы предпочел иметь только одну универсальную функцию, если это возможно. Есть ли другое свойство, к которому я могу получить доступ вместо xNumber, которое дает мне конкретное значение бара, а не сумму?
Обратите внимание, что поведение метки по умолчанию (т.е. не устанавливает labelFunction) отображает отдельные значения, а не суммы ... Так что я предполагаю, что это возможно, надеюсь, без большого количества дополнительных скачков, через которые можно перейти. :)
Моя пользовательская меткаФункция:
private function setCustomLabel(item:ChartItem, series:Series):String
{
var data:BarSeriesItem = BarSeriesItem(item);
var currentSeries:BarSeries = BarSeries(series);
return currentSeries.displayName + ": " + data.xNumber;
}
Фрагмент некоторого кода BarChart:
<mx:BarChart id="myChart" showDataTips="true"
height="180" width="100%">
...
<mx:BarSet type="stacked">
<mx:BarSeries displayName="Foo Count" xField="fooCount"
labelFunction="setCustomLabel" />
<mx:BarSeries displayName="Bar Count" xField="barCount"
labelFunction="setCustomLabel" />
</mx:BarSet>
</mx:series>
</mx:BarChart>
Спасибо!