【紧急求助】如何将Flex ColumnChart 的 x轴移到上面

alpyh 2010-06-23 09:08:29
如题,如何将Flex ColumnChart 的 x轴移到上面 如下所示:
0---------------->x
|
|
|
|
|
|
y


默认如下所示:

| y
|
|
|
|
|
0------------->x
...全文
151 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuetao121 2010-06-25
  • 打赏
  • 举报
回复
楼上是一个思路,可以试试
alpyh 2010-06-25
  • 打赏
  • 举报
回复
感谢【xiewneqi】 和 各位的 捧场,欧拉O(∩_∩)O
水中影子 2010-06-25
  • 打赏
  • 举报
回复
y轴可以移到右边,x轴,不知道,回头试试
zhushoudong 2010-06-25
  • 打赏
  • 举报
回复
这个思路不错 我去试试
xiewneqi 2010-06-24
  • 打赏
  • 举报
回复
好像很难,即使用AxisRender把横轴移上去,用labelFunction更改y轴坐标,显示的series依然是从底部对齐的,期待高手解答
alpyh 2010-06-24
  • 打赏
  • 举报
回复
怎么没人留言啊! 杯具。
alpyh 2010-06-24
  • 打赏
  • 举报
回复
谢谢,公司不能上网,家里有没有环境,明天到公司试试!
fw176170847 2010-06-24
  • 打赏
  • 举报
回复
好使!!!
xiewneqi 2010-06-24
  • 打赏
  • 举报
回复
刚才又试了一下,如果你要显示的y轴的值全是非负数,可以先把它们变成负数,然后用类似下面的方法:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
import mx.charts.HitData;
import mx.charts.chartClasses.Series;
import mx.charts.ChartItem;
import mx.charts.chartClasses.IAxis;
import mx.collections.ArrayCollection;
[Bindable]
public var expenses:ArrayCollection = new ArrayCollection([
{Month:"Jan", Expenses:-1500},
{Month:"Feb", Expenses:-200},
{Month:"Mar", Expenses:-500}
]);

private function labelFunction(value:Object, preValue:Object, axis:IAxis):String {
var currentValue:Number = Number(value);
return (-currentValue).toString();
}

private function dataTipFunction(hitData:HitData):String {
return hitData.item.Month + ":"
+ (0-Number(hitData.item.Expenses)).toString();
}

]]></mx:Script>

<mx:ColumnChart id="myChart" dataProvider="{expenses}" showDataTips="true"
dataTipFunction="dataTipFunction">
<mx:horizontalAxisRenderers>
<mx:AxisRenderer id="horAxisRend"
axis="{axis1}"
placement="top"
/>
</mx:horizontalAxisRenderers>

<mx:verticalAxisRenderers>
<mx:AxisRenderer id="vertAxisRend"
axis="{axis2}"
placement="left"
/>
</mx:verticalAxisRenderers>

<mx:horizontalAxis>
<mx:CategoryAxis id="axis1"
dataProvider="{expenses}"
categoryField="Month"
/>
</mx:horizontalAxis>

<mx:verticalAxis>
<mx:LinearAxis id="axis2" labelFunction="labelFunction"/>
</mx:verticalAxis>

<mx:series>
<mx:ColumnSeries
xField="Month"
yField="Expenses"
/>
</mx:series>
</mx:ColumnChart>

</mx:Application>

这样的话就要特别注意数值的符号问题,每次更新数据时都要做处理

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧