FusionCharts Free 图表库

简介: Free vs. Version 3。免费版本的功能已经非常强大了,让我爱不释手。基于XML数据格式。对代码稍稍加工一下,让数据以XML格式做为参数传递就可以得到FLASH图表呈现。有单一系列(Single series)呈现,也有多样系列(Multi-series)呈现。

Free vs. Version 3。免费版本的功能已经非常强大了,让我爱不释手。基于XML数据格式。对代码稍稍加工一下,让数据以XML格式做为参数传递就可以得到FLASH图表呈现。有单一系列(Single series)呈现,也有多样系列(Multi-series)呈现。有3D或2D的栏状、饼形、块形或线形呈现。甚至可以线形与栏状综合呈现,眼花缭乱……

image

这个图表库下载后解开压缩包,内有详细的文档和支持库与样式库。要创建自己的图表,必须要加载JSClass目录下的FusionCharts.js库。可以在Code目录下寻找自己想要的动态语言支持库。这些支持库提供通过传递参数后呈现FLASH图表的函数,十分重要。

使用ASP动态脚本语言,要在脚本里包含Code\ASP\Includes\FusionCharts.asp文件。假设已经把文件复制到自己站点的inc目录里,应该这样包含:

<!–#include file=”inc/FusionCharts.asp”–>

当然还要加载JSClass\FusinCharts.js文件。假设已经把文件复制到自己站点的js目录里,应该这样加载:

<script language=”JavaScript” src=”js/FusionCharts.js” ></script>

要呈现一个3D饼形的图表,就要在Charts目录里找到FCF_Pie3D.swf文件,假设已经把文件复制到自己站点的charts里。这个3D饼形图表接受的XML格式数据形式可以在Gallery\Data\目录里查看Pie3D.xml文件。格式很简单,这是我看过的众多图表工具里XML格式最简单最明了的了。

再在DOM里放个<div id=”mychart”></div>元素,图表将在这个元素里呈现出来。

接下来就是从数据库里提取记录,将记录转换成Pie3D.xml中那样的格式的字符串,然后调用FusionCharts.asp里的renderChart过程,使图表按数据库的实际数据呈现出来。

假设已经得到数据库记录集对象mconn。对象是“名称”和“数量”的一组二维数据表。用这样的代码来转换成XML格式:

<%
dim xmlstr  ‘定义xml格式字符串变量
xmlstr=”<graph showNames=’1′  decimalPrecision=’0′  >” ’参照饼形xml格式的首行
mconn.movefirst ‘数据集指针指向首行
do while not mconn.eof ’对数据集进行遍历,直到数据集最尾行
  xmlstr=xmlstr & “<set name=’” & mconn(”名称”) & “‘ value=’” & mconn(”数量”) & “‘ />” ‘当前行的记录按饼形xml格式进行转换
  mconn.movenext ‘数据集指针指向下一行
loop
xmlstr=xmlstr & “</graph>” ’参照饼形xml格式的尾行

‘目前得到xmlstr变量。调用renderChar过程,将变量传递过去。生成图表。

Call renderChart(”charts/FCF_Pie3D.swf”, “”, xmlstr , “mychart”, 600, 400)

‘过程有6个参数:chartSWF, strURL, strXML, chartId, chartWidth, chartHeight。

‘第1个参数是指定饼形样式的flash文件所在路径,这里是charts/FCF_Pie3D.swf。
‘第2个参数是指定xml数据文件的所在路径,这里就不必了,因为是直接传XML格式变量,所以是空的。
‘第3个参数是传给XML格式变最,这里是xmlstr,就是刚刚从数据集对象生成的变量。第2参数和第3参数不能同时有值,不然过程就不知道要取文件数据还是取变量数据了。
‘第4个参数是告诉过程将在哪个div元素里呈现图表。这里是mychart。
‘第5和第6个参数是指定图表的宽度和高度。

%>

脚本一运行,图表就呈现出来,而且还有出场动画和自动计算百分比。认真看一看文档,还可以指定饼形中每一数据项的颜色等等参数。

要呈现其它样式的图表,要分析该图表接受的XML格式,并创建出变量传递过去就行了。当然还要更换对应图表的flash文件。

XML数据可以是文件数据也可以是变量数据。加载文件数据不一定是.xml文件,可以是处理脚本,如asp或php。处理脚本可以接受get传来的值,处理好数据后按xml格式print出来就可以。不过经过我测试,脚本文件数据并不好用,经常数据更新后不能立即在图表上体现,往往需要清除浏览器缓存后才能生效。我并没有做过用脚本生成真正的.xml数据文件的测试,太麻烦。直接传变量很省事……

目录
相关文章
|
9月前
|
机器学习/深度学习 并行计算 API
Qwen2.5-1M: 支持100万Tokens上下文的开源Qwen模型
两个月前,Qwen团队升级了 Qwen2.5-Turbo,使其支持最多一百万个Tokens的上下文长度。今天,Qwen正式推出开源的 Qwen2.5-1M 模型及其对应的推理框架支持。
1790 28
|
11月前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型剪枝
本文概述了模型剪枝的概念、方法及流程,旨在通过移除神经网络中冗余或不重要的参数,实现模型规模的减小和效率的提升。剪枝不仅有助于降低模型的存储和计算需求,还能增强模型的泛化能力。文章详细介绍了剪枝的定义、分类、不同阶段的剪枝流程,以及多种剪枝算法,如基于参数重要性的方法、结构化剪枝、动态剪枝和基于优化算法的全局剪枝策略。通过这些方法,可以在保持模型性能的同时,显著提高模型的计算速度和部署灵活性。
696 2
【AI系统】模型剪枝
|
10月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
662 2
|
人工智能 弹性计算 自动驾驶
2023 AI开发者生态报告:技术生态、开发范式与应用案例全景
随着人工智能技术的飞速发展,全球IT市场对AI的投入持续增长,预计到2027年将达到4236亿美元。
|
缓存 关系型数据库 MySQL
一文彻底弄懂MySQL优化之深度分页
【10月更文挑战第24天】本文深入探讨了 MySQL 深度分页的原理、常见问题及优化策略。首先解释了深度分页的概念及其带来的性能和资源问题。接着介绍了基于偏移量(OFFSET)和限制(LIMIT)以及基于游标的分页方法,并分析了它们的优缺点。最后,提出了多种优化策略,包括合理创建索引、优化查询语句和使用数据缓存,帮助提升分页查询的性能和系统稳定性。
1466 1
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 卷积模块 | 在主干网络中添加/替换蛇形卷积Dynamic Snake Convolution
本专栏介绍的DSCNet采用蛇形动态卷积,增强对管状结构特征提取,尤其适合血管等弯曲目标。动态卷积核自适应调整,灵感来自蛇形曲线,能灵活捕捉不同尺度细节。论文及官方代码链接已提供,适用于提升目标检测的准确性和鲁棒性。
|
数据可视化 数据安全/隐私保护
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
|
机器学习/深度学习 存储 算法
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进】 SPD-Conv空间深度转换卷积,处理低分辨率图像和小对象问题 (论文笔记+引入代码)
YOLO目标检测专栏探讨了CNN在低分辨率和小目标检测中的局限性,提出SPD-Conv新架构,替代步长卷积和池化层,通过空间到深度层和非步长卷积保持细粒度信息。创新点包括消除信息损失、通用设计和性能提升。YOLOv5和ResNet应用SPD-Conv后,在困难任务上表现优越。详情见YOLO有效改进系列及项目实战目录。
|
JavaScript
uniapp自定义的日历(纯手写)
uniapp自定义的日历(纯手写)
486 0