`
danwind
  • 浏览: 234161 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

Open Flash Chart组件的使用

阅读更多

简介
 OpenFlashChart是一个开源的报表制作组件,该组件能够自动生成一个好看的、动态的flash报表;该组件使用flash展示报表能够很好的做到与浏览器进行集成,目前浏览器基本都能很好的支持flash;该组件还支持一些简单的JavaScript,提供在图形上对外部URL的链接;该组件非常小,java类一共不超过10个,可操作的API也很少,这样学习起来也非常容易上手。但可阅读的文档非常少,在与其它框架集成方面还有些问题。

主要配置项:
      openflashchart.jar:Open Flash Chart组件,工程开始时引入(lib目录下)。

      open-flash-chart.swf:Flash文件接口,通过该文件来生成Flash文件,备页面调用(在web目录下,与WEB-INF目录并级)。

      swfobject.js:Flash文件依赖的JS文件(在web目录下,与WEB-INF目录并级)。

 

Open Flash Chart主要有:HTML、JSP、Servlet等三种使用方式。其具体介绍参见附件中(在这里发表文章好像还有篇幅的限制...)。在附件中还提供了Demo和ofc的文档,供大家下载研究。

备注和补充说明:
1、该组件支持java 1.5以上版本。

2、利用Servlet API输出数据时应该注意设置编码,防止出现乱码。

如:response.setCharacterEncoding("utf-8");//设置字符集,在项目中使用utf-8页面不会出现乱码。

3、在页面Object标签中如果要开启外链支持,需要设置allowScriptAccess=always(默认为sameDomain,即不允许跨域访问)允许突破同源策略访问外部链接或者执行Javascript代码。

4、在图形链接时如果指定的是调用Javascript代码,注意应该避免出现逗号,因为这个设置是作为字符串(可能包括多个图形的链接,同时以逗号分隔)传递给Flash接口的,它会对这个字符串利用逗号进行split,从而出现Javascript解析错误,无法正确执行Javascript代码。

5、OFC4J对OpenFlashChart的面向对象封装很好,但是目前版本不支持图形链接。

 

在项目使用过程中,发现在与公司开发框架的集成过程中出现一些问题:

1)      同样版本的IE,有的IE访问时出现JavaScript错误,而有的IE却很正常;

2)      所有图形输出之前全都设置相同的字符集,却出现在有的图形中出现乱码,而在有的图形中中文显示正常。而另一个项目组在开发桌面应用时使用的就是该组件,却一直很正常,没有出现大的问题。

该组件还不是很成熟,在我们开发报表,选择第三方组件时,应该谨慎。本人建议还是采用目前比较成熟的jFreeChart组件进行报表的开发。

 

引自http://crabdave.iteye.com/blog/189653

 

 

SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。

 

JSON格式基本属性详解

数据文件必须是JSON格式.JSON对象的基本格式:
{}
把所有对象都编写在{}里面.让它看起来像下面 JSON 数据格式:
{
  "title":{
    "text":  "Many data lines",
    "style": "{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}"
  }
}
Title(可选)
所有属性参数都可选的.
text:string ,          标题
style:string ,       CSS样式
例子:
{
     "title":{
             "text": "Yedeer.com.cn data line",
             "style": "{font-size:20px; color:#000000; font-family:Verdana; text-align:center;}"
              }
}
Y_Legend(可选)
所有属性参数都是可选.
text:string,          Y轴标题
style:string,        CSS样式
例子:
{
     "y_legend":{
              "text":"Yedeer.com.cn Chart",
             "style":"{color:#736AEF; font-size:12px;}"
            }
}
X Axis(可选)
这个对象的属性是可选的,如果没有指定属性将使用默认的X轴属性.
所有可选属性:
stroke: number, X轴线的宽度
tick-height: number, X轴刻度线高度值
colour: string, 线的颜色
offset: boolean, 柱状图表中X轴的偏移最小值是0
grid-color:string, 表格线颜色
3d: boolean, 设置3D
steps: 取决于tick-height属性
labels: array of strings, 每个X点的标签
例子:
{
         "x_axis":{
                   "stroke":           1,
                  "tick-height":  10,
                  "colour":           "#d000d0",
                  "grid-colour": "#00ff00",
                  "labels":           ["January,"February","March","April","May","June","July","August","Spetember"]
               }
}
Y Axis(可选)
应该属性和X Axis差不多(因为官方没给出,不知道是不是编漏了)
min:integer, Y轴最小值
max: integer, Y轴最大值
tick-length:number, Y轴刻度线长度
例子:
{
          "y_axis":{
                  "stroke":        4,
                  "tick-length":  3,
                  "colour":        "#d000d0",
                  "grid-colour":"#00ff00",
                  "offset":           0,
                  "max":            20
              }
}
Elements             元素
元素的属性是一个数组的通用对象
这些通用对象图表类型为(line,bar,scatter等等)
{
  "elements":[
    {
      "type":      "bar",
      "alpha":     0.5,
      "colour":    "#9933CC",
      "text":      "Page views",
      "font-size": 10,
      "values" :   [9,6,7,9,5,7,6,9,7]
    },
    {
      "type":      "bar",
      "alpha":     0.5,
      "colour":    "#CC9933",
      "text":      "Page views 2",
      "font-size": 10,
      "values" :   [9,6,7,9,5,7,6,9,7]
    }
  ]
}
Elements.bar
柱状图表必须包含在元素数组
type: string    必须是’bar’
alpha: number,  0(透明)和1(不透明)之间的值
colour:string,  CSS颜色
text:string, 图例说明文本
font-size: number, 设置图例文本字体大小
values: array of number, 柱子的高底
例子:
{
  "elements":[
    {
      "type":      "bar",
      "alpha":     0.5,
      "colour":    "#9933CC",
      "text":      "Page views",
      "font-size": 10,
      "values" :   [9,6,7,9,5,7,6,9,7]
     }
   ]
}
Elements.pie
圆饼图表,必须包含在元素数据组里
type:string, 必须是’pie’
start-angle: number, 第一个切片角度
colours:array of string,  CSS颜色
alpha:number, 0(透明)和1(不透明)之间的值
stroke: number, 切片外边线宽
animate: boolean, 切片图表动画
values:array of objects, 每个切片值或者切片对象与值
例子:
{
  "elements":[
    {
      "type":      "pie",
      "start-angle": 180,
      "colours":   ["#d01f3c","#356aa0","#C79810","#73880A","#D15600","#6BBA70"],
      "alpha":     0.6,
      "stroke":    2,
      "animate":   1,
      "values" :   [0,2,{"value":0,"text":"zero"},2,6]
     }
   ]
}
Elements.hbar
横状图表
values:array of objects 每个值含有"right"和"left"可选值
例子:
{
  "elements":[
    {
      "type":      "hbar",
      "colour":    "#9933CC",
      "text":      "Page views",
      "font-size": 10,
      "values" :   [{"right":10},{"right":15},{"left":13,"right":17}]
    }
  ]
}
Elements.line_dot
线形图表
values:array of number 一个数组集合
例子:
{
  "elements":[
    {
      "type":      "line_dot",
      "colour":    "#736AFF",
      "text":      "Avg. wave height (cm)",
      "font-size": 10,
      "width":     2,
      "dot-size":  4,
      "values" :   [1.5,1.69,1.88,2.06,2.21,2.34,null,2.35,2.23,2.08]
    }
  ]
}
Elements.line*
注意:这是一个简单定义3种不同线形类型的图表(不明白的属性,请向上温习一下)
例子:
{
  "title":{
    "text":"Many data lines",
    "style":"{font-size: 30px;}"
  },

  "y_legend":{
    "text":"Open Flash Chart",
    "style":"{font-size: 12px; color:#736AFF;}"
  },

  "elements":[
    {
      "type":      "line",
      "colour":    "#9933CC",
      "text":      "Page views",
      "width":     2,
      "font-size": 10,
      "dot-size":  6,
      "values" :   [15,18,19,14,17,18,15,18,17]
    },
    {
      "type":      "line_dot",
      "colour":    "#CC3399",
      "width":     2,
      "text":      "Downloads",
      "font-size": 10,
      "dot-size":  5,
      "values" :   [10,12,14,9,12,13,10,13,12]
    },
    {
      "type":      "line_hollow",
      "colour":    "#80a033",
      "width":     2,
      "text":      "Bounces",
      "font-size": 10,
      "dot-size":  6,
      "values" :   [5,7,9,7,4,6,1,2,5]
    }
  ],

  "y_axis":{
    "max":   20
  },

  "x_axis":{
    "steps": 2,
    "labels": ["January","February","March","April","May","June","July","August","September"]
  }
}
例子:
这是一个简单的横状图表的JSON对象内容(不明白的属性请向上温习)
{
  "title":{
    "text":"HBar Map X values",
    "style":"{font-size: 20px; font-family: Verdana; text-align: center;}"
  },

  "elements":[
    {
      "type":      "hbar",
      "colour":    "#9933CC",
      "text":      "Page views",
      "font-size": 10,
      "values" :   [{"right":10},{"right":15},{"left":13,"right":17}]
    }
  ],
  "x_axis":{
    "min":    0,
    "max":    20,
    "offset": 0,
    "labels": ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v"]
  },
  "y_axis":{
    "stroke":      14,
    "tick-length": 30,
    "colour":      "#d09090",
    "grid-colour": "#00ff00",
    "offset":      1,
    "labels":      ["slashdot.org","digg.com","reddit.com"]
  }
}

分享到:
评论
1 楼 Jack-chen 2011-01-12  
楼主,忘了上附件

相关推荐

    open flash chart api

    Open Flash Chart API 是一款强大的开源图表库,它使用Flash技术来生成高质量、交互式的图表。在Web开发中,数据可视化是至关重要的,Open Flash Chart API 提供了丰富的功能,使得开发者能够轻松创建各种类型的图表...

    Open Flash Chart所需文件

    在这个压缩包文件中,你可能找到了Open Flash Chart的主要组件和必要的资源,下面我们将深入探讨这个库的关键知识点。 首先,Open Flash Chart的安装与使用。要开始使用Open Flash Chart,你需要将包含的SWF文件...

    flash图表组件Open Flash Chart 2.0+(asp/php)自动提取示例+使用说明

    本实例在IE6、IE7、IE8、Chrome、Firefox测试通过,在实际项目使用中,对可能出现的问题,尤其在IE6中无法显示flash图表,本人特撰写《Flash图表组件——使用Open Flash Chart 2.0的一些问题及解决办法》,具体访问...

    Open Flash Chart例子、中文版PDF说明文档、参数表

    Open Flash Chart(简称OFC),是一个开源的flash报表组件。我们不仅可以免费使用,而且还可以修改源码,来达到我们想要的效果。客户端在得到数据以后,在Flash Player中渲染出报表图。  附带PDF说明文档,是中文版...

    开源flash图表--open flash chart

    Open Flash Chart还提供了许多高级特性,如动画效果、数据动态更新、图表组件(如工具提示、图例、轴标签)等。通过学习和实践,开发者可以充分利用这些功能,构建出更复杂、更具吸引力的图表应用。 **五、相关资源...

    open flash chart 2 使用

    **Open Flash Chart 2 使用详解** Open Flash Chart 2 是一款强大的开源图表库,它使用 Adobe Flash 技术来创建各种美观且交互性强的数据可视化图表。这个库特别适合那些需要在网页上展示复杂数据的开发者,它提供...

    最新版Open Flash Chart

    虽然在提供的信息中未提及具体内容,但此文件对于初次使用者来说至关重要,因为它会引导用户如何正确使用和配置Open Flash Chart。 `js-ofc-library`目录包含了JavaScript库,这使得在网页中与Open Flash Chart进行...

    Open Flash Chart java例子 eclipse 测试通过

    在JSP页面中,你需要使用JavaScript来接收服务器端传递的JSON数据,并初始化Open Flash Chart组件。这通常涉及在HTML中嵌入一个Flash对象,并在JavaScript中设置它的源为一个动态生成的SWF URL。这个URL将包含服务器...

    open flash chart 实例1

    - `chart.html`是包含Open Flash Chart实例的HTML文件,它负责加载Flash组件并嵌入到页面中。 - HTML文件中通常会有一个`<object>`或`<embed>`标签用于嵌入Flash内容,这里会引用Open Flash Chart的SWF文件。 - ...

    open flash chart 1.9 文档及源码

    本文将深入探讨Open Flash Chart 1.9版本,包括其核心特性、使用方法以及如何通过Java源代码与之集成,帮助读者更好地理解和应用这一强大的图表工具。 一、Open Flash Chart概述 Open Flash Chart 1.9 是一个基于...

    open flash chart 2.0

    该组件使用flash展示报表能够很好的做到与浏览器进行集成,目前浏览器基本都能很好的支持flash; 该组件还支持一些简单的JavaScript, 提供在图形上对外部URL的链接;该组件非常小,java类一共不超过10个,可操作的...

    open flash chart 例子相关的说明文档

    Graph-doc.rar包含的是关于图表组件的进一步文档,这些文档可以帮助开发者更深入地理解Open Flash Chart的高级功能,比如动态更新图表、添加交互式元素(如鼠标悬停时显示数据点信息)以及如何使用多种类型的图表...

    RCP Open Flash Chart

    3. **Flash嵌入**:在RCP应用中展示Flash图表,需要将Open Flash Chart的SWF文件嵌入到SWT的Browser组件中。这通常涉及到HTML和JavaScript的使用,因为Browser组件可以显示HTML内容,并通过JavaScript与SWF文件进行...

    open flash chart (web 实例)

    Open Flash Chart 是一款免费的Web图表组件,它使用Flash技术来创建丰富的、动态的以及交互式的图表。在Web应用程序中,数据可视化是至关重要的,Open Flash Chart 提供了一种高效且灵活的方式来呈现各种类型的数据...

    open flash chart源码加示例

    首先,我们来看看`open-flash-chart.swf`这个文件,它是Open Flash Chart的核心组件,包含预编译的Flash图表引擎。开发者可以通过JavaScript或者服务器端脚本向这个SWF发送数据,从而生成各种类型的图表,如折线图、...

    Open Flash Chart Flash图表

    以下是对Open Flash Chart核心特性和使用方法的详细解析: 1. **基本概念与结构** - **图表类型**:Open Flash Chart支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图等,满足不同数据展示需求。 - *...

    open flash chart 2 线性图 柱形图 饼状图

    此外,Open Flash Chart 2 还支持自定义图表组件,如图例、工具提示、数据点标记等,以满足各种复杂的可视化需求。 总的来说,Open Flash Chart 2 是一个强大而灵活的图表库,尤其适合那些希望在网页中展示具有吸引...

    open flash chart

    6. **下载与安装**:"Open Flash Chart"的下载通常包括SWF文件(Flash组件)、JavaScript库和相关的示例代码。开发者需要将这些文件添加到Web项目中,并根据需求进行配置。 在提供的文件"chart"中,可能包含了"Open...

    open-flash-chart

    使用Open-Flash-Chart的主要优点包括: 1. **灵活性**:它提供了大量的自定义选项,允许开发者调整颜色、字体、图表元素的形状和大小,甚至添加动画效果,以满足特定的设计需求。 2. **性能优化**:尽管是基于...

Global site tag (gtag.js) - Google Analytics