1.openflashchart是一种比较实用的图标呈现插件,而且是开源的,网址http://teethgrinder.co.uk/open-flash-chart/

2.FlashChart类

FlashChart Class Code

class FlashChart

{

private $id;

private $height;

private $width;

private $path;

function __construct($path="",$width=300,$height=500,$id="myChart")

{

global $flash_chart;

$this->id=$id;

$this->height=$height;

$this->width=$width;

$this->path=$path;

if(!$flash_chart)

{

echo '';

echo '';

echo '';

$flash_chart=true;

}

}

function __destruct()

{

unset($this->id,$this->height,$this->width,$this->path);

}

function setID($id)

{

$this->id=$id;

}

function setChart($file,$info)

{

$tp=new TemplateData($file);

echo '

echo "data_{$this->id}=".$tp->changeInfo($info).';';

echo "function ofc_get_dataOf{$this->id}(){return JSON.stringify(data_{$this->id});}";

echo "swfobject.embedSWF('".$this->path."/open-flash-chart.swf', '$this->id', '$this->width','$this->height','9.0.0','expressInstall.swf',{'get-data':'ofc_get_dataOf{$this->id}'} )";

echo '';

}

}

3,TemplateData类

把一个简单的图标的配置从已经写好的txt文本里取出来加载所用的类 :例如

{

"title":

{

"text":"(title)",

"style":"{color:#FF0000;font-size:24px;}"

},

"y_legend":{

"text": "iWebShop",

"style": "{color: #736AFF;font-size:16px;}"

},

"elements":[

{

"type": "line",

"colour": "#736AFF",

"text": "注册用户量(人)",

"width": 1,

"dot-style": {

"type":"solid-dot", "colour":"#a44a80", "dot-size": 3,

"tip":"#val#人
#x_label#" },

"on-show": {"type": "shrink-in", "cascade":1, "delay":0.5},

"values" : [(numbers)]

}

],

"x_axis":{

"labels": {

"labels":[(dates)]

}

},

"y_axis":{

"steps": (steps),

"max": (max)

}

}

这是类的内容:

class TemplateData

{

public $substitution;

private $templateFile;

function __construct($filename)

{

$this->templateFile=@file_get_contents($filename) or die("not find templateFile");

}

function __destruct() {

unset ($this->templateFile,$this->substitution);

}

function setTemplateFile($tfile)

{

$this->templateFile=$tfile;

}

function getTemplateFile()

{

return $this->templateFile;

}

function replaceReal($matches)

{

extract($this->substitution, EXTR_OVERWRITE);

return isset($$matches[1])?$$matches[1]:$matches[1];

}

function changeInfo($subs)

{

$this->substitution=$subs;

return preg_replace_callback("(\((\w+)\))",array(&$this, 'replaceReal'),$this->getTemplateFile());

}

}

4,调用的代码

include("flashchart.php");

include("templatedata.php");

$fc=new FlashChart('chart/',"100%",320);

$infos=array(

'numbers'=>"30000,10000,5000,6000000,700",

'dates'=>"\"字符串1\",\"字符串2\",\"字符串3\",\"字符串4\",\"字符串5\"",

'steps'=>600000,

'max'=>6000000

);

$info=array("title"=>'用户注册统计','numbers'=>$infos['numbers'],'dates'=>$infos['dates'],'steps'=>$infos['steps'],'max'=>$infos['max']);

$fc->setChart("chart/templatechart/user-add.txt",$info);

5,还有一个处理数据的函数,把查询出来的数据集转换成ofc用的数据

/**

* @brief ofc数据处理

* @params 数据库查询出关于x,y轴的数据的数据集

* @note 后台

*/

/*

public function init_count($rs)

{

$numbers ='';

$dates = '';

$max = 0;

foreach($rs as $row)

{

$numbers .= $row['num'].',';//y轴数据

$dates .='"'.$row['month'].'",';//x轴数据

if($max

}

$steps=ceil($max/10);

$result= array(

'steps' => $steps,

'numbers' => strlen($numbers)>1 ? substr($numbers,0,-1):null,

'dates' => strlen($dates)>1 ? substr($dates,0,-1) : null,

'max' => $max+$steps

);

return $result;

}

php flash chart,openflashchart 2.0 简单案例php版相关推荐

  1. 使用Open Flash Chart(OFC)制作图表(Struts2处理)

    Java开源项目中制作图表比较出色的就是JFreeChart了,相信大家都听说过,它不仅可以做出非常漂亮的柱状图,饼状图,折线图基本图形之外,还能制作甘特图,仪表盘等图表.在Web应用中可以为项目增色 ...

  2. Open Flash Chart组件的使用 及 与 jfreechart, FusionCharts 的比较

    http://crabdave.javaeye.com/blog/189653 Open Flash Chart组件的使用 简介 OpenFlashChart是一个开源的报表制作组件,该组件能够自动生 ...

  3. Open Flash Chart 初体验

    今天项目中要用到图表统计,原来用的是Dundas 但效果不怎么好 后来发现Open Flash Chart不错  而且是结合着 Flash 比较动态  可到官方下载查看http://teethgrin ...

  4. Open Flash Chart 图表组件

    Open Flash Chart 图表组件 下载:http://teethgrinder.co.uk/open-flash-chart/ data-files里是各种实例文件,调用即可预览. 实例: ...

  5. 阿里云视频直播 web前端[移动端] Aliplayer的简单案例

    阿里云视频直播 web前端[移动端] Aliplayer的简单案例 最近做了一个功能就是播放后台提供的各种直播视频,格式在未确定的情况下,刚开始以为简单的一个video标签就能播放视频,后面才发现各种 ...

  6. flash chart(amCharts的破解)

    flash chart(amCharts的破解) 最近在看flash chart,看到amCharts和anyCharts是2个口碑不错的产品 前者较新,目前出到1.52版,体积小,1m不到,仅用sw ...

  7. 一个不错的报表工具 open flash chart 2

    同事向我推荐了一款开源的报表工具open flash chart,感觉还行,推荐给大家. 早先的版本是1.x,已经停止开发,目前的版本都是2.x,是作者推荐的版本,于是我下载了2.x的版本,写了个de ...

  8. java 向nodejs 发送请求简单案例

    java  向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...

  9. Redis简单案例(二) 网站最近的访问用户

    原文:Redis简单案例(二) 网站最近的访问用户 我们有时会在网站中看到最后的访问用户.最近的活跃用户等等诸如此类的一些信息.本文就以最后的访问用户为例, 用Redis来实现这个小功能.在这之前,我 ...

最新文章

  1. 数据库开发个人总结(ADO.NET小结)
  2. 并行博弈树搜索算法-第6篇 百花齐放:各种并行Alpha-Beta算法
  3. boost::throw_exception的测试程序
  4. qhfl-3 Course模块
  5. weka 学习总结(持续)
  6. 常见的几种RuntimeException
  7. 20145235李涛《网络对抗》逆向及Bof基础
  8. 巧用金山网盾对付游戏插件强行锁定主页
  9. 2021年人工智能学习路线图分享
  10. 内存颗粒和闪存颗粒的区别_内存颗粒及频率知识,你真的清楚吗?
  11. 安卓开发——修改Toolbar默认图标(如返回图标)的颜色
  12. 纯CSS实现图片动画
  13. 程序员效率:整理常用的在线笔记软件
  14. 记录mumu模拟器AMD SVM(VT)开启失败的问题
  15. 计算机类专业考公务员好考吗,考公务员最“吃香”的4个专业,考上几率大,把握住机会!...
  16. 超融合一体机与软件选哪个好?适合什么场景?各有什么利弊?
  17. 【工业互联网】2018工业互联网红利爆发:政策战略、关键技术、典型案例深度解读!
  18. VQA系列论文(三)
  19. C语言算平均数,让用户输入一系列的正整数,输入-1表示输入结束,算出这些数字的平均数
  20. 关于IC封装的目的及其发展历程

热门文章

  1. 水晶报表的显示与打印不一至问题
  2. Android Studio导入 jar包的方法
  3. python函数“转移”
  4. Maven的构建配置文件(Build Profiles)
  5. 2016 Multi-University Training Contest 3
  6. php开启curl和openssl
  7. 使用C#删除一个字符串数组中的空字符串
  8. Canvas scale- 缩放
  9. 从表现现象查找电脑问题的根源
  10. 车用计算机内部结构图,ecu的基本组成结构 ECU的工作过程