尽管在此柱形图中将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>
答案 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
<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,看看是否有效?