Flex中制定横坐标刻度

caiyizhen808 2010-11-11 11:16:19
以下的数据源中2007-8-1的有5条数据,在LineChart横坐标上显示5个刻度,同理2007-8-2的也是一样。请问怎样能够在横坐标上显示的刻度为2007-8-1的5条数据为一个刻度,同理2007-8-2的也是一样,最后刻度为2007-8-1、2007-8-2、2007-8-3...?
各位大哥大姐帮帮小弟解决这个问题,谢谢。

<mx:XMLListCollection id="dp">
<mx:source>
<mx:XMLList>
<quote date="2007-8-1 00:00:00" open="40.38" close="40.81" />
<quote date="2007-8-1 01:00:00" open="40.51" close="40.41" />
<quote date="2007-8-1 02:00:00" open="40.53" close="40.6" />
<quote date="2007-8-1 03:00:00" open="40.55" close="40.77" />
<quote date="2007-8-1 04:00:00" open="40.56" close="40.13" />
<quote date="2007-8-2 00:00:00" open="40.58" close="40.74" />
<quote date="2007-8-2 01:00:00" open="40.6" close="40.32" />
<quote date="2007-8-2 02:00:00" open="40.61" close="39.96" />
<quote date="2007-8-2 03:00:00" open="40.64" close="40.18" />
<quote date="2007-8-2 04:00:00" open="40.5" close="40.41" />
</mx:XMLList>
</mx:source>
</mx:XMLListCollection>

...全文
569 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xym_444 2012-07-11
  • 打赏
  • 举报
回复
顺便问一句,怎么能让横坐标的时间斜着放置啊?
雷恩特 2012-06-21
  • 打赏
  • 举报
回复
没有什么好办法,修改数据源中的数据,合并是同一天的数据,就是说重新构造数据
yonghui_chaoying 2012-06-12
  • 打赏
  • 举报
回复
哥们这个问题解决没啊? 我也要你这个答案,要求做出一个年月统计,求解中...
leemiki 2010-11-12
  • 打赏
  • 举报
回复
按日期划分很横坐标,那纵坐标表示的就是该天的总和了??

对于这种问题最简便的解决办法是更改数据源

根据上面的XML构造新的XML,直接赋予dataProvider即可

类似于
mx:XMLList>
<quote date="2007-8-1 00:00:00" open="40.38" close="40.81" />
<quote date="2007-8-2 00:00:00" open="40.58" close="40.74" />
<quote date="2007-8-3 00:00:00" open="40.58" close="40.74" />
......
</mx:XMLList
caiyizhen808 2010-11-12
  • 打赏
  • 举报
回复
各位大哥大姐帮帮忙...
caiyizhen808 2010-11-11
  • 打赏
  • 举报
回复
具体代码如下:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
preinitialize="init();" viewSourceURL="srcview/index.html">

<mx:Script>
<![CDATA[
import mx.charts.chartClasses.IAxis;
import mx.controls.Alert;
import mx.formatters.CurrencyFormatter;

private var currFormatter:CurrencyFormatter;

private function init():void {
currFormatter = new CurrencyFormatter();
currFormatter.precision = 2;
}

private function linearAxis_labelFunc(item:Object, prevValue:Object, axis:IAxis):String {

return currFormatter.format(item);
}

private function categoryAxisLabelFun( item : Object, prevValue : Object, axis : CategoryAxis, categoryItem : Object) : String {
var temp:String=String(item);
return temp.slice(0,8).toString();
}


private function lineChart_creationComplete():void {
var linearAxisMinimum:int = Math.floor(linearAxis.computedMinimum);
var linearAxisMaximum:int = Math.ceil(linearAxis.computedMaximum);
linearAxis.minimum = linearAxisMinimum;
linearAxis.maximum = linearAxisMaximum;
}
]]>
</mx:Script>

<mx:XMLListCollection id="dp">
<mx:source>
<mx:XMLList>
<quote date="2007-8-1 00:00:00" open="40.38" close="40.81" />
<quote date="2007-8-1 01:00:00" open="40.51" close="40.41" />
<quote date="2007-8-1 02:00:00" open="40.53" close="40.6" />
<quote date="2007-8-1 03:00:00" open="40.55" close="40.77" />
<quote date="2007-8-1 04:00:00" open="40.56" close="40.13" />
<quote date="2007-8-2 00:00:00" open="40.58" close="40.74" />
<quote date="2007-8-2 01:00:00" open="40.6" close="40.32" />
<quote date="2007-8-2 02:00:00" open="40.61" close="39.96" />
<quote date="2007-8-2 03:00:00" open="40.64" close="40.18" />
<quote date="2007-8-2 04:00:00" open="40.5" close="40.41" />
<quote date="2007-8-3 00:00:00" open="41" close="40.83" />
<quote date="2007-8-3 01:00:00" open="41.3" close="41.06" />
<quote date="2007-8-3 02:00:00" open="39.9" close="40.75" />
<quote date="2007-8-3 03:00:00" open="39.61" close="40.23" />
<quote date="2007-8-3 04:00:00" open="39.08" close="39.42" />
<quote date="2007-8-4 00:00:00" open="38.71" close="39.38" />
<quote date="2007-8-4 01:00:00" open="39.47" close="38.75" />
<quote date="2007-8-4 02:00:00" open="39.4" close="39.52" />
<quote date="2007-8-4 03:00:00" open="40.29" close="39.58" />
<quote date="2007-8-4 04:00:00" open="40.39" close="39.58" />
<quote date="2007-8-5 00:00:00" open="40.49" close="39.58" />
<quote date="2007-8-5 01:00:00" open="40.59" close="39.58" />
<quote date="2007-8-5 02:00:00" open="40.69" close="39.58" />
<quote date="2007-8-5 03:00:00" open="40.79" close="39.58" />
<quote date="2007-8-5 04:00:00" open="41.29" close="39.58" />
<quote date="2007-8-6 00:00:00" open="40.79" close="39.58" />
<quote date="2007-8-6 01:00:00" open="40.89" close="39.58" />
<quote date="2007-8-6 02:00:00" open="40.99" close="39.58" />
<quote date="2007-8-6 03:00:00" open="42.29" close="39.58" />
<quote date="2007-8-6 04:00:00" open="43.29" close="39.58" />
</mx:XMLList>
</mx:source>
</mx:XMLListCollection>

<mx:ApplicationControlBar dock="true">
<mx:Form styleName="plain">
<mx:FormItem label="minimum:">
<mx:HSlider id="minSlider"
minimum="28"
maximum="38"
value="38"
liveDragging="true"
snapInterval="1"
change="linearAxis.minimum = event.value;" />
</mx:FormItem>
<mx:FormItem label="maximum:">
<mx:HSlider id="maxSlider"
minimum="42"
maximum="52"
value="42"
liveDragging="true"
snapInterval="1"
change="linearAxis.maximum = event.value;" />
</mx:FormItem>
</mx:Form>

<mx:Spacer width="100%" />

<mx:Legend dataProvider="{lineChart}"
direction="horizontal" />
</mx:ApplicationControlBar>

<mx:LineChart id="lineChart"
showDataTips="true"
dataProvider="{dp}"
width="100%"
height="100%"
creationComplete="lineChart_creationComplete();">

<mx:backgroundElements>
<mx:GridLines id="gridLines"
direction="both"
verticalTickAligned="false">
<mx:verticalStroke>
<mx:Stroke color="haloSilver"
weight="0"
alpha="1.0" />
</mx:verticalStroke>
<mx:horizontalStroke>
<!-- Set alpha to 0 so stroke isn't visible. -->
<mx:Stroke color="white"
weight="0"
alpha="0.0" />
</mx:horizontalStroke>
<mx:horizontalFill>
<mx:SolidColor color="haloSilver"
alpha="0.1" />
</mx:horizontalFill>
</mx:GridLines>
</mx:backgroundElements>

<!-- vertical axis -->
<mx:verticalAxis>
<mx:LinearAxis id="linearAxis"
baseAtZero="false"
title="Price (USD)"
minorInterval="0.10"
interval="0.5"
labelFunction="linearAxis_labelFunc" />
</mx:verticalAxis>

<!-- horizontal axis -->
<mx:horizontalAxis>
<mx:CategoryAxis id="ca"
categoryField="@date"
title="Date" labelFunction="categoryAxisLabelFun" />
</mx:horizontalAxis>

<!-- horizontal axis renderer -->
<mx:horizontalAxisRenderers>
<mx:AxisRenderer axis="{ca}"
canDropLabels="true" />
</mx:horizontalAxisRenderers>

<!-- series -->
<mx:series>
<mx:LineSeries yField="@open"
displayName="Open" />
</mx:series>
</mx:LineChart>

</mx:Application>

4,328

社区成员

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

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