FusionCharts与jQuery-显示Chart的几种方法

FusionCharts 提供几种方法在HTML元素中显示charts。以下三种方式均可在实现:

1. insertFusionCharts: 在指定的容器元素中添加chartscharts将替换原来的内容。

2. appendFusionCharts: 向指定的容器元素末尾追加charts,不会替换原来的元素。

3. prependFusionCharts:在指定容器元素的开始位置追加charts,不会替换原来的元素。

配置FusionCharts jQuery插件

配置FusionCharts jQuery插件非常容易。步骤如下:

1. 复制所有必须的SWF文件到你指定的文件夹

2. 复制FusionCharts.js 、jquery.min.js 和FusionCharts.jqueryplugin.js到指定文件夹

3. 复制FusionCharts.HC.js FusionCharts.HC.Charts.js 到指定文件夹

4. JavaScript文件中应用所有必须的js文件。示例如下:

<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
<script type="text/javascript" src="FusionCharts/jquery.min.js"></script>
<script type="text/javascript" src="FusionCharts/FusionCharts.jqueryplugin.js"></scrip>

接下来,我们将学习以上三种方法的具体使用。

Data.xml文件如下:

<chart caption='Weekly Sales Summary'
   xAxisName='Week' yAxisName='Sales' numberPrefix='$'> 
    <set label='Week 1' value='14400' /> 
    <set label='Week 2' value='19600' /> 
    <set label='Week 3' value='24000' /> 
    <set label='Week 4' value='15700' /> 
</chart>

使用insertFusionCharts方法

insertFusionCharts方法是显示charts的基本方法。使用时,必须使用jQuery选择指定的HTML元素。如果一次选择了多个元素,则每个元素中都会添加charts。而且该方法,将替换HTML元素中原来的所有元素。实例如下:

<html>
  <head>        
    <title>My First chart using FusionCharts</title>    
    <script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
    <script type="text/javascript" src="FusionCharts/jquery.min.js"></script>
    <script type="text/javascript" src="FusionCharts/FusionCharts.jqueryplugin.js"></script>
  </head>   
  <body>     
    <div id="chartContainer">FusionCharts 将加载显示到这里!</div>          
    <script type="text/javascript"><!--         
       
      $(document).ready(function(){
          $("#chartContainer").insertFusionCharts({
               swfUrl: "FusionCharts/Column3D.swf", 
               dataSource: "Data.xml", 
               dataFormat: "xmlurl", 
               width: "400", 
               height: "300", 
               id: "myChartId"
         }); 

       });
     
    // -->     
    </script>      
  </body> 
</html>

在上面的代码中,我们使用了key/value对的形式来配置charts的属性。常见的配置选项有:

属性

描述说明

swfUrl

SWF文件的路径

id

Chart id(可选)

width

chart 的宽度 (可选- 默认为 400)

height

chart  的高度 (可选,默认为 300)

dataSource

XML 或 JSON chart 数据源。可以是XML 或 JSON文件的URL,也可以是XML字符串或JSON对象

dataFormat

定义数据源的格式。

a) xmlurl 表示数据源为XML文件的URL

b) xml 表示数据源为XML字符串

c) jsonurl 表示数据源为JSON数据文件的URL

d) json 表示数据源为JSON字符串或JSON对象

renderer

设置 chart 显示(渲染)引擎,取值可以是 'flash' 或 'javascript'.。默认为flash 即默认生成 Flash 格式的charts。当设置为 javascript FusionCharts JavaScript 类将显示为纯JavaScript charts.

bgColor

设置chart 的背景色,(可选,默认为#FFFFFF

scaleMode

chart 显示的比例模式(可选)

lang

设置语言。目前只支持English 。值为"EN"。(可选)

detectFlashVersion

设置为"1" 将自动检查浏览器中是否有Flash Player 8 。 (可选,默认为 "0' )

autoInstallRedirect

是否启用自动安装 Flash Player ,设置为"1",将自动访问Adobe'网站。(可选 ,默认为 "0')

debugMode

设置 chart 的调试模式。可选值为 "0" 或 "1".  "1", 代表可以调试。 (可选,默认为 "0")

insertFusionCharts方法返回一个所有选中HTML元素组成的jQuery对象数组。

使用JSON作为数据源

JSON格式数据的同样可以作为charts的数据源。你可以使用JSON对象、JSON字符串或JSON字符串的文件URL。使用JSON格式数据时必须指定dataSource属性,并且将dataFormat属性设置为“json”或“jsonurl”。

以下示例将JSON对象作为dataSource

$("#chartContainer").insertFusionCharts({
        swfUrl: "FusionCharts/Column3D.swf", 
        width: "400", 
        height: "300", 
        id: "myChartId",
        
        dataFormat: "json", 
        dataSource: { 
                "chart": { 
                          "caption" : "Weekly Sales Summary" ,
                          "xAxisName" : "Week",
                          "yAxisName" : "Sales",
                          "numberPrefix" : "$"
                },
                        
                "data" : 
                 [
                          { "label" : "Week 1", "value" : "14400" },
                          { "label" : "Week 2", "value" : "19600" },
                          { "label" : "Week 3", "value" : "24000" },
                          { "label" : "Week 4", "value" : "15700" }
                 ]
                }
}); 

以下示例将JSON格式字符串作为dataSource

$("#chartContainer").insertFusionCharts({
        swfUrl: "FusionCharts/Column3D.swf", 
        width: "400", 
        height: "300", 
        id: "myChartId",
        
        dataFormat: "json", 
        dataSource: '{ "chart": { "caption" : "Weekly Sales Summary" , "xAxisName" : "Week", "yAxisName" : "Sales", "numberPrefix" : "$" }, ' +
                        '       "data" : [  ' +
                        '                  { "label" : "Week 1", "value" : "14400" }, ' +
                        '                  { "label" : "Week 2", "value" : "19600" }, ' +
                        '                  { "label" : "Week 3", "value" : "24000" }, ' +
                        '                  { "label" : "Week 4", "value" : "15700" }  ' +
                        '  ] }'
}); 

以下示例将包含JSON格式数据的URL作为dataSource

$("#chartContainer").insertFusionCharts({
        swfUrl: "FusionCharts/Column3D.swf", 
        width: "400", 
        height: "300", 
        id: "myChartId",
        
        dataFormat: "jsonurl", 
        dataSource: "data.json"
}); 

appendFusionCharts-charts追加到HTML元素列表的末尾

appendFusionCharts方法将charts插入到指定HTML容器元素的所有子元素列表的末尾。不会替换原来的子元素。示例如下:

$("#chartContainer").appendFusionCharts({
   swfUrl: "FusionCharts/Column3D.swf", 
   dataSource: "March.xml", 
   dataFormat: "xmlurl", 
   width: "400", 
   height: "300", 
   id: "myChartMarID"
}); 

appendFusionCharts能使用的参数与insertFusionCharts方法的参数一样。

appendFusionCharts方法返回一个所有选中HTML元素组成的jQuery对象数组。

prependFusionCharts-charts追加到HTML元素列表的开始

prependFusionCharts方法将charts插入到指定HTML容器元素的所有子元素列表的开始。不会替换原来的子元素。示例如下:

$("#chartContainer").prependFusionCharts({
   swfUrl: "FusionCharts/Column3D.swf", 
   dataSource: "January.xml", 
   dataFormat: "xmlurl", 
   width: "400", 
   height: "300", 
   id: "myChartJanID"
}); 

prependFusionCharts能使用的参数与insertFusionCharts方法的参数一样。

prependFusionCharts方法返回一个所有选中HTML元素组成的jQuery对象数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值