OpenFlashChart2的使用

来源:互联网 发布:手机微博淘客软件 编辑:程序博客网 时间:2024/06/05 19:06

Open Flash Chart2是依据Open Flash Chart1.x完全重新构建的一个Flash图表绘制组件。与1.x版本最大不同之处在于把数据格式改成JSON,以实现一些更酷的功能。该版本全部采用Actionscript3开发,Adobe Flex编译。

 

一、JSON数据格式如下:

data.txt代码  收藏代码
  1. {  
  2.   /* 图表标题 */  
  3.   "title":{  
  4.     "text""标题",  
  5.     "style""{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}"  
  6.   },  
  7.    
  8.   /* X轴标题 */    
  9.   "x_legend":{    
  10.     "text""X轴标题",   
  11.     "style""{font-size: 12px; color:#736AFF;}"  
  12.   },    
  13.     
  14.    /* Y轴标题 */   
  15.   "y_legend":{  
  16.     "text""Y轴标题",  
  17.     "style""{color: #736AFF; font-size: 12px;}"  
  18.   },  
  19.     
  20.   "is_decimal_separator_comma": 0,     /* (0/1),是否用逗号替换小数点 */    
  21.   "is_fixed_num_decimals_forced": 1,   /* (0/1),是否强制小数点后面的位数 */    
  22.   "num_decimals":3,        /* 精度,即小数点后面的位数,需要配合上面参数一起使用 */     
  23.   "is_thousand_separator_disabled": 0,     /* (0/1),是否使用千位分隔符 */   
  24.   
  25.   "x_axis":{  
  26.     "stroke":1,                 /* X轴的粗细 */  
  27.     "tick_height": 10,          /* X轴刻度的长度 */  
  28.     "colour":"#d000d0",         /* 颜色 */  
  29.     "grid_colour":"#00ff00",    /* 网格线的颜色 */  
  30.     "offset": 1,                /* (0/1), 是否根据数据图形和标签的宽度进行延展 */   
  31.     "3d": 0,                       /* 显示3D */   
  32.     "steps": 0.5,                  /* 刻度间隔 */  
  33.     /*"min": 0,  
  34.     "max": 8,*/  
  35.     "labels": {  
  36.         "labels": ["一月","二月","三月","四月","五月","六月","七月","八月",  
  37.             {"text":"九月""visible":true"colour":"ff0000""rotate":-60}  
  38.         ]  
  39.     }  
  40.    },  
  41.    
  42.   "y_axis":{  
  43.     "stroke":      4,  
  44.     "tick_length": 3,  
  45.     "colour":      "#d000d0",  
  46.     "grid_colour""#00ff00",  
  47.     "offset":      0,  
  48.     "max":         20,  
  49.     "steps": 2  
  50.   },  
  51.    
  52.   "elements":[  
  53.     {  
  54.       "type":      "bar",  /* 可选值有bar,line,pie等 */  
  55.       "alpha":     0.5,  
  56.       "colour":    "#9933CC",  
  57.       "text":      "图例一",  
  58.       "font-size": 10,  
  59.       "values" :   [9,6,7,9,5,7,6,9,  
  60.         {  
  61.             "bottom":0,   
  62.             "top":7,   
  63.             "colour":"#A03030",   
  64.             "tip":"#top#<br>hello<br>#val#",  
  65.             "on-click":"#"  
  66.         }  
  67.       ]  
  68.     },  
  69.     {  
  70.       "type":      "bar",  
  71.       "alpha":     0.5,  
  72.       "colour":    "#CC9933",  
  73.       "text":      "图例二",  
  74.       "font-size": 10,  
  75.       "values" :   [6,7,9,5,7,6,9,7,3]  
  76.     }   
  77.   ],  
  78.     
  79.     "tooltip":{    
  80.         "shadow"false,      /* 提示框影子 */     
  81.         "stroke": 2,         /* 边框粗细 */    
  82.         "rounded": 1,      /* 边角圆滑程度 */    
  83.         "colour":"#00d000"/* 边框颜色 */    
  84.         "background":"#d0d0ff",     /* 背景颜色 */    
  85.         "title":"{font-size: 18px; color: #000000; font-weight:bold;}",       /* 标题样式 */    
  86.         "body":"{font-size: 10px; color: #000000;}"      /* 本体样式 */  
  87.     }   
  88. }  

 

二、HTML页面内容参考如下:

Html代码  收藏代码
  1. <%@ page language="java" pageEncoding="utf-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4.   <head>  
  5.     <title>Open Flash Chart</title>  
  6.     <script type="text/javascript" src="js/json/json2.js"></script>  
  7.     <script type="text/javascript" src="js/swfobject.js"></script>  
  8.   </head>  
  9.     
  10.   <body>  
  11.     <div id="my_chart"></div>  
  12.       
  13.     <script type="text/javascript">  
  14.         swfobject.embedSWF(  
  15.             "open-flash-chart.swf",   
  16.             "my_chart",   
  17.             "650",   
  18.             "300",   
  19.             "9.0.0",   
  20.             "expressInstall.swf",   
  21.             {"data-file":"bar.txt"},  
  22.             {"wmode":"transparent"}  
  23.         );  
  24.     </script>  
  25.   </body>  
  26. </html>  

    bar.txt文件的内容就是json格式的数据

 

三、数据加载方式有以下几种:

Js代码  收藏代码
  1. //数据加载方法一:通过静态的json格式字符串数据  
  2. //ofc2默认会调用 open_flash_chart_data 该方法,方法返回json格式的字符串数据  
  3. function open_flash_chart_data(){  
  4.     var data = { }; //json对象  
  5.     return JSON.stringify(data);  
  6. }  
  7.   
  8. //数据加载方法二:通过data-file属性调用action  
  9. //{"data-file":"dataServlet?r=<%=new Random().nextInt()%>"},  
  10.   
  11. //数据加载方法三:通过data-file属性调用json格式的数据文件  
  12. //{"data-file":"bar.txt"},  
  13.   
  14. //数据加载方法四:通过Ajax调用action  
  15. function open_flash_chart_data(){  
  16.     jQuery.post("dataServlet"function(data){  
  17.         var tmp = findSWF("my_chart");   
  18.         tmp.load(JSON.stringify(data));    
  19.     });  
  20.       
  21.     var emptyData = {  
  22.         "title": {"text"""},  
  23.         "elements": []  
  24.     };  
  25.     return JSON.stringify(emptyData);  
  26. }  
  27.   
  28. function findSWF(movieName) {     
  29.   if (navigator.appName.indexOf("Microsoft")!= -1) {     
  30.     return window[movieName];     
  31.   } else {     
  32.     return document[movieName];     
  33.   }     
  34. }  
0 0
原创粉丝点击