Adobe ColdFusion 8

Writing a chart to a variable

In some cases, your application might have charts that are static or charts that, because of the nature of the data input, take a long time to render. In this scenario, you can create a chart and write it to a variable.

Once written to a variable, other ColdFusion pages can access the variable to display the chart, or you can write the variable to disk to save the chart to a file. This lets you create or update charts only as needed, rather than every time someone requests a page that contains a chart.

You use the name attribute of the cfchart tag to write a chart to a variable. If you specify the name attribute, the chart is not rendered in the browser but is written to the variable.

You can save the chart as an Adobe Flash SWF file, or as a JPEG or PNG image file. If you save the image as a SWF file, you can pass the variable back to a Flash client using ColdFusion Flash Remoting. For more information, see Using the Flash Remoting Service.

Note: If you write the chart to a JPEG or PNG file, mouseover tips and URLs embedded in the chart for data drill-down do not work when you redisplay the image from the file. However, if you save the image as a SWF file, both tips and drill-down URLs work. For more information on data drill-down, see Linking charts to URLs.

Write a chart to a variable and a file

  1. Create a ColdFusion page with the following content:
    <cfchart     name="myChart"     format="jpg"    >
        <cfchartseries type="pie">
            <cfchartdata item="New Vehicle Sales" value=500000>
            <cfchartdata item="Used Vehicle Sales" value=250000>
            <cfchartdata item="Leasing" value=300000>
            <cfchartdata item="Service" value=400000>
        </cfchartseries>
    </cfchart>
    
    <cffile 
        action="WRITE" 
        file="c:\inetpub\wwwroot\charts\vehicle.jpg" 
        output="#myChart#"> 
    <img src="/charts/vehicle.jpg" height=240 width=320>
    

  2. Save the page as chartToFile.cfm in myapps under the web root directory.
  3. View the chartToFile.cfm page in your browser.

Reviewing the code

The following table describes the highlighted code and its function:

Code

Description

<cfchart name="myChart" format="jpg">

Define a chart written to the myChart variable by using the JPEG format.

<cffile action="WRITE" file= "c:\inetpub\wwwroot\charts\vehicle.jpg" output="#myChart#">

Use the cffile tag to write the chart to a file.

<img src="/chartsvehicle.jpg" height=240 width=320>

Use the HTML img tag to display the chart.