fusionChart 图表插件 我们要显示漂亮的图表 就来看看

Fusionchart插件是用来显示各种各样的图表 的有用插件,我们有必要为了以后我们显示图表的时候少走弯路,来了解一下这个插件的使用。首先我们来看一下FusionChart插件可以用来显示的图表类型,我在这里只是列举几个图表类型,因为FusionChart支持很多种图表的输出,所以我们仅仅用来说明几个图表类型。

2D柱状图

    fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第1张图片

3D柱状图

fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第2张图片

3D饼图

fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第3张图片

 

2D折线图

fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第4张图片

 

我再这里只是简单的列举了几个常用的图表类型,当然还会有很多图表我们会用到,但是FusionChart插件,如果我们可以熟练使用其中一种,那么对于其他的图表类型都是小菜一碟,所以我们拿出来一个图表饼图 作为例子。因为FusionChart接受xml格式和json两种格式,所以我们在例子中采用这两种格式的数据作为数据源来显示图表。

首先我们需要从官网下载一个实例程序,里面会包括一个FusionCharts目录,这个目录就是我们要在项目中使用的插件,其中里面有一个特别重要的js文件FusionChart.js,我们在页面上对于图表的控制显示都是通过这个js文件来操作。剩下的就是一些swf文件,它们是用来呈现图表的。

有一点我们注意一下:就是我们在项目中尽可能的添加目录的命名为FusionCharts,因为如果命名不是这样,可能会遇到一些问题,当然这存在偶然性。

因为我的示例采用的是MVC3 ,所以有些地方的标签会有些不同,但是不影响总体的理解。

 我们首先在项目中添加一个FusionCharts目录,然后把下载到的FusionCharts目录中的内容全部拷贝到项目中。

然后可以使用图表进行显示。

 1 @{
 2     Layout = null;
 3 }
 4 
 5 <!DOCTYPE html>
 6 <html>
 7 <head>
 8     <title>Index</title>
 9     <script type="text/javascript" src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js"></script>
10     <script type="text/javascript" src="http://www.cnblogs.com/FusionCharts/FusionCharts.js"></script>
11     <script type="text/javascript">
12         $(function () {
13             var chart = new FusionCharts("http://www.cnblogs.com/FusionCharts/pie3d.swf", "chart1", "800", "600", "0");
14             chart.setXMLUrl("http://www.cnblogs.com/data/data.xml");
15             chart.render("divChart");
16 
17         });
18     
19     
20     </script>
21 </head>
22 <body>
23 <div id="divChart"></div>
24 </body>
25 </html>

其中这里有一个js方法,我们在这里有一个问题需要注意,如果不采用jquery的$();方法,那么我们必须把哪个渲染输出图表的js放到<div id="divChart" 后面,其中divChart就是要显示的图表的占位符。

pie3D.swf 表示的就是fusionChart的3D饼图,我们设置数据源为data.xml。然后通过render渲染输出,应该说比较简单易懂,我们来定义data.xml文件中的内容,这是操作fusionChart的核心。

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <chart caption="中国强大" subCaption="中国是世界霸主"
 3        showBorder="1" startingAngle="70" bgAngle="360" bgRatio="0,100" bgColor="99ccff,ffffff"
 4        enableRotation="1" enableSmartLabels="1" decimals="0" palette="4" 
 5        formatNumberScale="0">
 6   <set label="中国" value="130000"/>
 7   <set label="美国" value="20000"/>
 8   <set label="法国" value="12000"/>
 9   <set label="俄罗斯" value="1400"></set>  
10 </chart>

其中最令人恶心的就是这里面的各种参数,我们把实例中的参数说明一下。

  1. chart 这个应该是xml的根,是fusonChart定义的,我们在原来的版本中也可以使用graph,当然现在如果使用graph也可以,但是不推荐
  2. caption 标题,表示的是图表显示的标题
  3. subCaption 副标题  注意:xml是不区分大小写的
  4. showBorder是否显示边框 为1  在fusionChart中 如果为true,即可以设置为1,为false则是0
  5. startingAngle 初始的角度 这是相对饼图来说的 其他图表可能用不到这个参数
  6. bgAngle 背景角度
  7. bgRatio 背景比例,这是一个范围值,表示从0到100范围内逐渐更改  有过度效果
  8. bgColor 背景颜色,这个也是一个范围值,表示一个逐渐更改的颜色,当然也可以只设置一个值,就表示唯一值,没有过度效果
  9. enableRotation 是否允许旋转 为1表示可以旋转 为0则不允许旋转
  10. decimals  举个例子来说,就是说如果一个数值为999.999,如果decimals设置为0.则显示的结果就是999.可以理解成小数位数
  11. palette 表示采用的风格,当然是fusionChart内置的风格,从1到4
  12. formatNumberScale 这个参数有时特别有用。比如说我们有一个值为1000,如果设置这个参数为0,则显示的时候就是1000,但是如果我们设置为1,那么显示出来就是1K。
  13. set表示一个定位符,用来赋值
  14. set-->label  表示的是name值,在以前的版本中就是name,但是在新版本中更新成了label,就是表示name 名称
  15. set-->value 表示label设置的值的value

    好了,一共就这么几个参数,等等,我突然想到两个参数,就是x轴和y轴的名称。XAxisName和YAxisName,因为这是饼图 没有x和y轴之说。所以我就不在实例中添加了。来看一下实际效果。
    fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第5张图片

 

 以上是通过xml格式来作为数据源,我们在项目中json也很经常用到,所以下面我们来说明一下json的使用,为了加上x和y轴,我们采用柱状图。

我们首先在HomeController中定义一个Action 返回json字符串。注意:返回的是字符串 不是jsonResult,当然如果你可以拼接出对应的json值就可以。

1   public string Json()
2         {
3             string json = "{\"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\"}]}
"; 4 return json; 5 }

前台页面我们需要设置图表的json 数据源为这个Action

 1 @{
 2     Layout = null;
 3 }
 4 <!DOCTYPE html>
 5 <html>
 6 <head>
 7     <title>Index</title>
 8     <script type="text/javascript" src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js"></script>
 9     <script type="text/javascript" src="http://www.cnblogs.com/FusionCharts/FusionCharts.js"></script>
10     <script type="text/javascript">
11         $(function () {
12             var chart = new FusionCharts("http://www.cnblogs.com/FusionCharts/column2d.swf", "chart1", "800", "600", "0");
13 //            chart.setXMLUrl("http://www.cnblogs.com/data/data.xml");
14 //            chart.render("divChart");
15 
16             chart.setJSONUrl("@Url.Action("json", "home")");
17             chart.render("divChart");
18         });
19     
20     
21     </script>
22 </head>
23 <body>
24     <div id="divChart">
25     </div>
26 </body>
27 </html>

这个显示的是柱状图

fusionChart 图表插件 我们要显示漂亮的图表 就来看看_第6张图片

哪两个坐标就是我们刚才提出的名称,好了,就说这么多,如果你用到这个插件,还是去官网好好的研究一下参数就可以搞定。很简单。

你可能感兴趣的:(fusionchart)