flex -设置柱状图ColumnChart的鼠标显示标签、设置tip窗口的样式(二)

.regisLineSeries1
{//线性图样式
	fill:#E8362B;
	border-thickness:1;
	labelPosition:none; /* outside|none 如果为LineSeries 则需要使用SolidColorWhiteBorderCircleRenderer渲染器 */
	labelColor:#000000;  /*当使用LineSeries时,指定数值文本颜色。若未指定labelColor样式,则使用序列颜色作为文本颜色*/
	labelSize:10; /*当使用LineSeries时,指定数值文本大小。若未指定labelSize时,默认为10号字 */
}

//显示数据标签格式
private function columnChart_dataTipFunc(item:HitData):String 
{
    //适用于单一柱状图或线性图
    /*var cSI:ColumnSeriesItem = item.chartItem as ColumnSeriesItem;//鼠标当前柱子
		var cs:ColumnSeries = ColumnSeries(item.element);
		var col:String = cs.yField;//yField的字段名
		var row:String =  cs.xField;//xField的字段名
		return  cSI.item[row]+"\n"+cs.displayName+":"+cSI.item[col];*/
		
		//混合图
		var temp:String=item.chartItem.toString();
		var type:String=temp.substring(temp.indexOf(" ")+1,temp.length-1);//图形的类型ͼ
		var content:ChartItem=item.chartItem as ChartItem;
		if("LineSeriesItem"==type)
		{
				var conty:String=LineSeries(content.element).yField;
				var contx:String=LineSeries(content.element).xField;
				var name:String=LineSeries(content.element).displayName;
				return 	content.item[contx]+"\n"+name+":"+content.item[conty];
		}
		else
		{  
				var conty1:String=ColumnSeries(content.element).yField;
				var contx1:String=ColumnSeries(content.element).xField;
				var name:String=ColumnSeries(content.element).displayName;
				return 	content.item[contx1]+"\n"+name+":"+content.item[conty1];
		}
}

//dataTipRenderer ="{components.charts.ColumnDataTip}",可以是任意容器,只要重新set data方法,就可获得数据
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" 
         backgroundColor="#2772AA" verticalGap="0">
	<mx:Script>
		<![CDATA[
			import mx.charts.HitData;
			import mx.charts.series.ColumnSeries;
			import mx.charts.series.items.ColumnSeriesItem;
			import mx.controls.Label;
			
			override public function set data(value:Object):void
			{
				super.data = value;
				var item:HitData = value as HitData;//所有数据
				var cSI:ColumnSeriesItem = item.chartItem as ColumnSeriesItem;
				var cs:ColumnSeries = ColumnSeries(item.element);
				var col:String = ColumnSeries(item.element).yField;//yField	
				var row:String =  ColumnSeries(item.element).xField;//xField		
				firLab.text = cSI.item[row];
				endLab.text = cs.displayName+":"+cSI.item[col];
			}
		]]>
	</mx:Script>
	
	<mx:Label id="firLab" color="#ffffff"/>
	<mx:Label id="endLab" color="#ffffff"/>
</mx:VBox>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值