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

推荐订阅源

V
Visual Studio Blog
罗磊的独立博客
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
博客园_首页
量子位
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
S
SegmentFault 最新的问题
雷峰网
雷峰网
小众软件
小众软件
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog

博客园 - 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