惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
The Cloudflare Blog
博客园_首页
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
美团技术团队
博客园 - 【当耐特】
博客园 - Franky
T
Tailwind CSS Blog
雷峰网
雷峰网
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)

博客园 - spoony

Flex4 Skinning 4: 留言板示例 Flex4 Skinning 2: 皮肤协议 Flex4 Skinning 1: 自定义一个简单按钮的皮肤 Air应用程序访问本地数据库 [通篇转载]调程序的小女孩 Adobe ColdFusion Reports(5) Adobe ColdFusion Reports(4) Adobe ColdFusion Reports(3) Adobe ColdFusion Reports(2) Adobe ColdFusion Reports(1) Adobe ColdFusion Charts(3) Adobe ColdFusion Charts(1) Adobe ColdFusion读写Microsoft Office Excel数据(3) Adobe ColdFusion读写Microsoft Office Excel数据(2) Adobe ColdFusion读写Microsoft Office Excel数据(1) Flex与DotNET WebService交互(2) Flex与DotNET WebService交互(1) Ext JS Designer 1.0.5 发布 设置Flex Builder中FlashPlayer调试版本 - spoony - 博客园
Adobe ColdFusion Charts(2)
spoony · 2010-02-07 · via 博客园 - spoony

         在企业应用中,有时候我们不止需要一组数据,我们还需要对比数据,比如对比计划数值和实际数值。这个时候我们需要在同一个图表中结合使用两种不同类型的图,比如折线图与柱状图结合使用。还有一种情况就是我们可能需要查看同一项的不同组成部分分别在这一项中所占百分比,这在图表中称为“堆叠”。

         在ColdFusion中,这种图表也很容易完成。前面提到过每个cfchartseries代表了一组相关的数据,而现在我们需要两组,自然需要两个cfchartseries, 而且图的类型是cfchartseries的属性,所以可以分别对每组数据的图表显示类型进行单独定义。

<!--- Get the raw data from the database --->
<cfquery name="GetSalaries" datasource="cfdocexamples">
	SELECT APP.DEPARTMT.DEPT_NAME,
		APP.EMPLOYEE.SALARY
	FROM APP.DEPARTMT, APP.EMPLOYEE
	WHERE APP.DEPARTMT.DEPT_ID = APP.EMPLOYEE.DEPT_ID
</cfquery>

<!--- Generate a query with statistical data for each department. --->
<cfquery dbtype="query" name="DeptSalaries">
	SELECT 
		DEPT_NAME,
		AVG(SALARY) AS AvgByDept
	FROM GetSalaries
	GROUP BY DEPT_NAME
</cfquery>

<!--- Reformat the generated numbers to show only thousands. --->
<cfloop index="i" from="1" to="#DeptSalaries.recordcount#">
	<cfset DeptSalaries.AvgByDept[i]=Round(DeptSalaries.AvgByDept[i]/1000)*1000>
</cfloop>

<html>
	<head>
		<title>Employee Salary Analysis</title>
	</head>
	
	<body>
		<h1>Employee Salary Analysis</h1>
		
		<!--- Bar chart, from DeptSalaries Query of Queries. --->
		<cfchart
				backgroundColor="white"
				xAxisTitle="Department"
				yAxisTitle="Salary Average"
				font="Arial"
				gridlines=6
				showXGridlines="yes"
				showYGridlines="yes"
				showborder="yes"
			>
			
			<cfchartseries
					type="line"
					seriesColor="blue"
					paintstyle="plain"
					serieslabel="Contract Salaries"
				>
					<cfchartdata item="HR" value=70000>
					<cfchartdata item="Marketing" value=9500>
					<cfchartdata item="Sales" value=80000>
					<cfchartdata item="Training" value=9300>
			</cfchartseries>
			
			<cfchartseries 
					type="bar"
					query="DeptSalaries"
					valueColumn="AvgByDept"
					itemcolumn="Dept_Name"
					seriesColor="gray"
					paintStyle="plain"
					serieslabel="Dept. Average Salaries"	
				/>	
		</cfchart>
	</body>
</html>

         下面看一个示例,新建一个ColdFusion Page, 将下面代码放入其中。

  代码很简单,不再解释。稍微提一点的就是cfchart标签中,我们可以看到好多关于图表样式的属性。其实ColdFusion提供了好多关于样式的属性。笔者不再在这里列出。

  在浏览器中浏览刚创建的页面,效果如图1.

图 1