AxisRenderer的labelRotation属性不执行任何操作

时间:2012-02-01 11:21:07

标签: flex actionscript charts

尽管在此柱形图中将labelRotation属性设置为90,但轴标签是水平的。我还需要做些什么吗?

    <mx:ColumnChart id="myChart" height="100%" width="100%"
                    dataProvider="{myData}"
                    showDataTips="true">
        <mx:horizontalAxis>
            <mx:CategoryAxis id="h1" categoryField="code"/>
        </mx:horizontalAxis>            
        <mx:horizontalAxisRenderers>
            <mx:AxisRenderer axis="{h1}" labelRotation="90" />
        </mx:horizontalAxisRenderers>           
        <mx:series>
            <mx:ColumnSet type="stacked"
                          allowNegativeForStacked="true">
                <mx:series>
                    <mx:ColumnSeries xField="code"
                                     yField="A"
                                     displayName="A"/>
                    <mx:ColumnSeries xField="code"
                                     yField="B"
                                     displayName="B"/>
                    <mx:ColumnSeries xField="code"
                                     yField="C"
                                     displayName="C"/>
                    <mx:ColumnSeries xField="code"
                                     yField="D"
                                     displayName="D"/>
                    <mx:ColumnSeries xField="code"
                                     yField="F"
                                     displayName="F"/>
                </mx:series>
            </mx:ColumnSet>
        </mx:series>
    </mx:ColumnChart>
编辑:我尝试嵌入字体,正如Amy和fotomut所建议的那样,但它没有做任何事情:

<mx:Style>
 @font-face 
 {
    src:url("../assets/fonts/FRABK.ttf");
fontFamily: myFontFamily; 
embedAsCFF: false; 
 }

ColumnChart 
 { 
        fontFamily: myFontFamily; 
        fontSize: 10; 
     } 

</mx:Style>

2 个答案:

答案 0 :(得分:1)

嵌入该标签上使用的字体。如果由于某种原因您无法嵌入字体,有时将blendMode设置为“layer”将起作用。

答案 1 :(得分:1)

使labelRotation工作的关键是嵌入字体。 Flex 4.6上有一篇很好的文章here

一个简单的代码示例是将样式添加到mxml文件

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

        @font-face{
            src: local("Arial");
            fontFamily: Arial;
            embedAsCFF: false;
        }

        mx|ColumnChart {
            fontFamily: Arial;
            fontSize: 10;
        }
</fx:Style>

编辑: 我确认只需将fx:Style更改为mx:Style

即可使用Flex 3.5
<mx:Style>
    @namespace mx "library://ns.adobe.com/flex/mx";

    @font-face{
        src: local("Arial");
        fontFamily: Arial;
        embedAsCFF: false;
    }

    mx|ColumnChart {
        fontFamily: Arial;
        fontSize: 10;
    }
</mx:Style>

也许您应该首先尝试嵌入Arial,看看是否有效?