Generates and displays a chart.
Data output tags, Extensibility tags; Controlling chart appearance in Creating Charts and Graphs in ColdFusion MX Developer's Guide
Syntax 1
<!--- This syntax uses an XML file or string to specify the chart style. --->
<cfchart
style = "XML string or filename">
</cfchart>Syntax 2
<!--- This syntax uses the attributes of the cfchart tag to specify the chart style. --->
<cfchart
backgroundColor = "Hex value or Web color"
chartHeight = "integer number of pixels"
chartWidth = "integer number of pixels"
dataBackgroundColor = "Hex value or Web color"
font = "font name"
fontBold = "yes" or "no"
fontItalic = "yes" or "no"
fontSize = "integer font size"
foregroundColor = "Hex value or Web color"
format = "flash" or "jpg" or "png"
gridlines = "integer number of lines"
labelFormat = "number, currency, percent, date"
markerSize = "integer number of pixels"
name = "String">
pieSliceStyle = "solid, sliced"
scaleFrom = "integer minimum value"
scaleTo = "integer max
imum value"
seriesPlacement = "default, cluster, stacked, percent"
show3D = "yes" or "no"
showBorder = "yes" or "no"
showLegend = "yes" or "no"
showMarkers = "yes" or "no"
showXGridlines = "yes" or "no"
showYGridlines = "yes" or "no"
sortXAxis = "yes" or "no"
tipBGColor = "hex value or web color"
tipStyle = "MouseDown, MouseOver, none"
title = "title of chart"
url = "onClick destination page"
xAxisTitle = "title text"
xAxisType = "scale or category"
xOffset = "number between -1 and 1"
yAxisTitle = "title text"
yAxisType = "scale or category"
yOffset = "number between -1 and 1"
</cfchart>
ColdFusion MX 7:
style
and title
attributes.
rotated
attribute.
ColdFusion MX 6.1:
xAxisType
and yAxisType
attributes.
ColdFusion MX: Added this tag.
Attribute | Req/Opt | Default | Description |
---|---|---|---|
|
Optional |
|
Color of the area between the data background and the chart border, around labels and around the legend. Hexadecimal value or supported named color; see the name list in Usage. For a hexadecimal value, use the form |
|
Optional |
240 |
Chart height; integer number of pixels. |
|
Optional |
320 |
Chart width; integer number of pixels. |
dataBackgroundColor |
Optional |
white |
Color of area around chart data. Hexadecimal value or supported named color; see the name list in Usage. For a hexadecimal value, use the form |
font |
Optional |
arial |
Name of text font:
|
fontBold |
Optional |
no |
Whether to make the text bold:
|
fontItalic |
Optional |
no |
Whether to make the text italicized:
|
fontSize |
Optional |
11 |
Font size; integer. |
foregroundColor |
Optional |
black |
Color of text, grid lines, and labels. Hexadecimal value or supported named color; see name list in Usage. For a hexadecimal value, use the form |
format |
Optional |
flash |
File format in which to save the graph:
|
gridlines |
Optional |
10, including top and bottom |
Number of grid lines to display on the value axis, including axis; positive integer. |
labelFormat |
Optional |
number |
Format for y-axis labels:
|
markerSize |
Optional |
(Automatic) |
Size of data point marker in pixels; integer. |
name |
Optional |
|
Page variable name; string. Generates the the graph as binary data and assigns it to the specified variable. Suppresses chart display. You can use the |
pieSliceStyle |
Optional |
sliced |
Applies to the
|
rotated |
Optional |
no |
Whether to rotate the chart 90 degrees:
|
scaleFrom |
Optional |
Determined by data |
Y-axis minimum value; integer. |
scaleTo |
Optional |
Determined by data |
Y-axis maximum value; integer. |
seriesPlacement |
Optional |
default |
Relative positions of series in charts that have more than one data series.
|
show3D |
Optional |
yes |
Whether to display the chart with three-dimensional appearance:
|
showBorder |
Optional |
no |
Whether to display a border around the chart:
|
showLegend |
Optional |
yes |
Whether to display the legend if the chart contains more than one data series:
|
showMarkers |
Optional |
yes |
Whether to display markers at data points in line, curve, and scatter graphs:
|
showXGridlines |
Optional |
no |
Whether to display x-axis gridlines:
|
showYGridlines |
Optional |
yes |
Whether to display y-axis gridlines:
|
sortXAxis |
Optional |
no |
Whether to display column labels in alphabetic order along the x-axis:
Ignored if the |
style |
Optional |
|
XML file or string to use to specify the style of the chart. |
title |
Optional |
|
Title of the chart. |
tipbgcolor |
Optional |
white |
Background color of tips. Applies only to Flash format graph files. Hexadecimal value or supported named color; see the name list in the Usage section. For a hexadecimal value, use the form |
tipStyle |
Optional |
mouseOver |
Determines the action that opens a pop-up window to display information about the current chart element.
|
url |
Optional |
|
URL to open if the user clicks item in a data series; the You can specify variables within the URL string; ColdFusion passes current values of the variables.
For example: "somepage.cfm?item=$ITEMLABEL$&series=$SERIESLABEL$&value=$VALUE$
|
xAxisTitle |
Optional |
|
Title that appears on the x-axis; text. |
xAxisType |
Optional |
category |
Whether the x-axis indicates data or is numeric:
|
xOffset |
Optional |
0.1 |
Number of units by which to display the chart as angled, horizontally. Applies if |
yAxisTitle |
Optional |
|
Title of the y-axis; text. |
yAxisType |
Optional |
category |
Currently has no effect, as the y-axis is always used for data values. |
yOffset |
Optional |
0.1 |
Number of units by which to display the chart as angled, vertically. Applies if |
The cfchart
tag defines a container in which a graph displays: its height, width, background color, labels, and so on. The cfchartseries
tag defines the chart style in which data displays: bar, line, pie, and so on. The cfchartdata
tag defines a data point.
Data is passed to the cfchartseries
tag in the following ways:
cfchartdata
tag
For the font
attribute value ArialUnicodeMS
, the following rules apply:
type = "flash"
) to render a double-byte character set, you must select this value.
type
values, to render a double-byte character set, you must select this value.
fontBold
and fontItalic
attributes have no effect.
The following table lists W3C HTML 4 named color value or hexadecimal values that the color
attribute accepts:
Color name | RGB value |
---|---|
Aqua |
##00FFFF |
Black |
#000000 |
Blue |
##0000FF |
Fuchsia |
##FF00FF |
Gray |
##808080 |
Green |
##008000 |
Lime |
##00FF00 |
Maroon |
##800000 |
Navy |
##000080 |
Olive |
##808000 |
Purple |
##800080 |
Red |
##FF0000 |
Silver |
##C0C0C0 |
Teal |
##008080 |
White |
##FFFFFF |
Yellow |
##FFFF00 |
For all other color values, you must enter the hexadecimal value. You can enter a six-digit value, which specifies the RGB value, or an eight-digit value, which specifies the RGB value and the transparency. The first two digits of an eight-digit hexadecimal value specify the degree of transparency, with FF indicating opaque and 00 indicating transparent. Values between 00 and FF are allowed.
For more color names that are supported by popular browsers, go to www.w3.org/TR/css3-color
You can specify whether charts are cached in memory, the number of charts to cache, and the number of chart requests that ColdFusion can process concurrently. To set these options in the ColdFusion Administrator, select Server Settings > Charting.
<!---The following example analyzes the salary data in the cfdocexamples
database and generates a bar chart showing average salary by department. The
body of the cfchartseries tag includes one cfchartdata tag to include data that
is not available from the query. --->
<!--- Get the raw data from the database. --->
<cfquery name="GetSalaries" datasource="cfdocexamples">
SELECT Departmt.Dept_Name,
Employee.Dept_ID,
Employee.Salary
FROM Departmt, Employee
WHERE Departmt.Dept_ID = Employee.Dept_ID
</cfquery>
<!--- Use a query of queries to generate a new query with --->
<!--- statistical data for each department. --->
<!--- AVG and SUM calculate statistics. --->
<!--- GROUP BY generates results for each department. --->
<cfquery dbtype = "query" name = "DataTable">
SELECT
Dept_Name,
AVG(Salary) AS avgSal,
SUM(Salary) AS sumSal
FROM GetSalaries
GROUP BY Dept_Name
</cfquery>
<!--- Reformat the generated numbers to show only thousands. --->
<cfloop index = "i" from = "1" to = "#DataTable.RecordCount#">
<cfset DataTable.sumSal[i] = Round(DataTable.sumSal[i]/1000)*1000>
<cfset DataTable.avgSal[i] = Round(DataTable.avgSal[i]/1000)*1000>
</cfloop>
<h1>Employee Salary Analysis</h1>
<!--- Bar graph, from Query of Queries --->
<cfchart
format="flash"
xaxistitle="Department"
yaxistitle="Salary Average">
<cfchartseries type="bar"
query="DataTable"
itemcolumn="Dept_Name"
valuecolumn="avgSal">
<cfchartdata item="Facilities" value="35000">
</cfchartseries>
</cfchart>