Метка Flex ColumnChart становится усеченной (пример включен) - PullRequest
0 голосов
/ 10 января 2011

Кажется, я не могу понять, почему, но метка на моем ColumnSeries всегда кажется усеченной независимо от ширины столбца.Я попытался установить labelSizeLimit на произвольно большое число, но это, похоже, не помогает

Есть идеи относительно того, что происходит?

Вот пример кода:

<?xml version="1.0" encoding="utf-8"?><mx:Application name="BarChart_barWidthRatio_test"
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    verticalAlign="middle"
    backgroundColor="white">

    <mx:Script>
        <![CDATA[
            private function labelFunc(v1:Object, v2:Object):String {

                return 'asdfasasds';

            }
        ]]>
    </mx:Script>

<mx:ArrayCollection id="arrColl">
    <mx:source>
        <mx:Array>
            <mx:Object name="R Winn" obp=".353" slg=".445" avg=".300" />
            <mx:Object name="P Feliz" obp=".290" slg=".418" avg=".253" />
            <mx:Object name="O Vizquel" obp=".305" slg=".316" avg=".246" />
            <mx:Object name="B Molina" obp=".298" slg=".433" avg=".276" />
            <mx:Object name="R Durham" obp=".295" slg=".343" avg=".218" />
        </mx:Array>
    </mx:source>
</mx:ArrayCollection>

<mx:ApplicationControlBar dock="true">
    <mx:Form>
        <mx:FormItem label="barWidthRatio:">
            <mx:HSlider id="slider"
                    minimum="0.0"
                    maximum="1.0"
                    value="0.6"
                    liveDragging="true"
                    tickInterval="0.1" />
        </mx:FormItem>
    </mx:Form>
</mx:ApplicationControlBar>

 <mx:ColumnChart id="barChart"
         showDataTips="true"
         dataProvider="{arrColl}"
         width="100%"
         height="100%">
      <mx:horizontalAxis>
       <mx:CategoryAxis 
            dataProvider="{arrColl}" 
            categoryField="name"
       />
    </mx:horizontalAxis>

    <mx:verticalAxis>
        <mx:LinearAxis minimum="0" maximum="1"/>
    </mx:verticalAxis>    

    <mx:series>
        <mx:ColumnSeries id="barSeries"
                yField="avg"
                xField="name"
                displayName="name"
                labelFunction="{labelFunc}"
                labelPosition="outside"
                labelAlign="center"
                labelSizeLimit="900"
                labelRotation="45"
                columnWidthRatio="{slider.value}" />
    </mx:series>
</mx:ColumnChart>

1 Ответ

0 голосов
/ 10 января 2011

Если вы показываете метки внутри, то это будет работать.

labelPosition="inside"

Если вы хотите labelPosition="outside", то вам нужно расширить и переопределить рисунок метки.

========= приведенная ниже информация только для информации, не имеет отношения к проблеме / решению ========== labelAlign = "центр"

Это действительно, когда

labelPosition="inside"

И, labelSizeLimit фактически является порогом размера шрифта. Это не должно быть так высоко.

...