- 背景
最近由于工作需要,再次接触到了Fusioncharts,但也有不足之处,现在官网上似乎是不支持flash的版本了,只能看到html5相关的javascript版本,无奈再次从网上搜索到了一些别人个人总结的一些用法。
- 总结
fusioncharts的flash版本的xml渲染数据结构常有element包含以下:
<graph>
<categories>
<category Name='区间出现记录数(单位:个)' ShowName='1' /> 。。。
</categories>
<dataset SeriesName='小于-90dBM' Color='9D080D' ShowValues='1' Alpha='100'>
<set Value='1000' Alpha='80' /> 。。。。
</dataset> 。。。
</graph>
- 这里边的graph属性包含一下:
功能特性
animation 是否动画显示数据,默认为1(True)
showNames 是否显示横向坐标轴(x轴)标签名称
rotateNames 是否旋转显示标签,默认为0(False):横向显示
showValues 是否在图表显示对应的数据值,默认为1(True)
yAxisMinValue 指定纵轴(y轴)最小值,数字
yAxisMaxValue 指定纵轴(y轴)最小值,数字
showLimits 是否显示图表限值(y轴最大、最小值),默认为1(True)
图表标题和轴名称
caption 图表主标题
subCaption 图表副标题
xAxisName 横向坐标轴(x轴)名称
yAxisName 纵向坐标轴(y轴)名称
图表和画布的样式
bgColor 图表背景色,6位16进制颜色值
canvasBgColor 画布背景色,6位16进制颜色值
canvasBgAlpha 画布透明度,[0-100]
canvasBorderColor 画布边框颜色,6位16进制颜色值
canvasBorderThickness 画布边框厚度,[0-100]
shadowAlpha 投影透明度,[0-100]
showLegend 是否显示系列名,默认为1(True)
字体属性
baseFont 图表字体样式
baseFontSize 图表字体大小
baseFontColor 图表字体颜色,6位16进制颜色值
outCnvBaseFont 图表画布以外的字体样式
outCnvBaseFontSize 图表画布以外的字体大小
outCnvBaseFontColor 图表画布以外的字体颜色,6位16进制颜色值
分区线和网格
numDivLines 画布内部水平分区线条数,数字
divLineColor 水平分区线颜色,6位16进制颜色值
divLineThickness 水平分区线厚度,[1-5]
divLineAlpha 水平分区线透明度,[0-100]
showAlternateHGridColor 是否在横向网格带交替的颜色,默认为0(False)
alternateHGridColor 横向网格带交替的颜色,6位16进制颜色值
alternateHGridAlpha 横向网格带的透明度,[0-100]
showDivLineValues 是否显示Div行的值,默认??
numVDivLines 画布内部垂直分区线条数,数字
vDivLineColor 垂直分区线颜色,6位16进制颜色值
vDivLineThickness 垂直分区线厚度,[1-5]
vDivLineAlpha 垂直分区线透明度,[0-100]
showAlternateVGridColor 是否在纵向网格带交替的颜色,默认为0(False)
alternateVGridColor 纵向网格带交替的颜色,6位16进制颜色值
alternateVGridAlpha 纵向网格带的透明度,[0-100]
数字格式
numberPrefix 增加数字前缀
numberSuffix 增加数字后缀 % 为 '%25'
formatNumberScale 是否格式化数字,默认为1(True),自动的给你的数字加上K(千)或M(百万);若取0,则不加K或M
decimalPrecision 指定小数位的位数,[0-10] 例如:='0' 取整
divLineDecimalPrecision 指定水平分区线的值小数位的位数,[0-10]
limitsDecimalPrecision 指定y轴最大、最小值的小数位的位数,[0-10]
formatNumber 逗号来分隔数字(千位,百万位),默认为1(True);若取0,则不加分隔符
decimalSeparator 指定小数分隔符,默认为'.'
thousandSeparator 指定千分位分隔符,默认为','
Tool-tip/Hover标题
showhovercap 是否显示悬停说明框,默认为1(True)
hoverCapBgColor 悬停说明框背景色,6位16进制颜色值
hoverCapBorderColor 悬停说明框边框颜色,6位16进制颜色值
hoverCapSepChar 指定悬停说明框内值与值之间分隔符,默认为','
折线图的参数
lineThickness 折线的厚度
anchorRadius 折线节点半径,数字
anchorBgAlpha 折线节点透明度,[0-100]
anchorBgColor 折线节点填充颜色,6位16进制颜色值
anchorBorderColor 折线节点边框颜色,6位16进制颜色值
Set标签使用的参数
value 数据值
color 颜色
link 链接(本窗口打开[Url],新窗口打开[n-Url],调用JS函数[JavaScript:函数])
name 横向坐标轴标签名称
- dataset 相关属性
<dataset SeriesName='[-90dBm,-80dBm)' Color='F6BD0F' ShowValues='1' Alpha='100'>
<set Value='3500' Alpha='80' />
</dataset>
怎么使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="JavaScript/jquery.js" type="text/javascript"></script>
<script src="JavaScript/FusionCharts.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
var myChartId = new Date().getTime();
var chart = new FusionCharts('FusionChartsFiles/FCF_MSColumn3D.swf', myChartId, "400", "300");
chart.setDataURL("Data.xml");
chart.render(document.getElementById("divSignalRangeStatitistics"));
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="divSignalRangeStatitistics">
</div>
</form>
</body>
</html>
对应的data.xml
<?xml version="1.0" encoding="utf-8" ?>
<graph baseFont='Arial' baseFontSize='12' outCnvBaseFontSize='12' numberSuffix='' animation='1' bgAlpha='50' showhovercap='1' bgColor='ffffff' showValues='1' showNames='1' xAxisName='区域' yAxisName='接收信号数' yAxisMinValue='0' yAxisMaxValue='100' decimalPrecision='0' formatNumberScale='0' caption='信息强度分布图'>
<categories FontSize='10' FontColor='0000FF'>
<!-- AFD8F8,F6BD0F,8BBA00,FF8E46,008E8E,D64646,8E468E,588526,B3AA00,008ED6,9D080D,A186BE, -->
<category Name='信息强度区间出现记录数(单位:个)' ShowName='1' />
</categories>
<dataset SeriesName='小于-90dBM' Color='9D080D' ShowValues='1' Alpha='100'>
<set Value='1000' Alpha='80' />
</dataset>
<dataset SeriesName='[-90dBm,-80dBm)' Color='F6BD0F' ShowValues='1' Alpha='100'>
<set Value='3500' Alpha='80' />
</dataset>
<dataset SeriesName='[-80dBm,-70dBm)' Color='8BBA00' ShowValues='1' Alpha='100'>
<set Value='2400' Alpha='80' />
</dataset>
<dataset SeriesName='[-70dBm,-60dBm)' Color='FF8E46' ShowValues='1' Alpha='100'>
<set Value='8000' Alpha='80' />
</dataset>
<dataset SeriesName='[-60dBm,-50dBm)' Color='008E8E' ShowValues='1' Alpha='100'>
<set Value='2100' Alpha='80' />
</dataset>
<dataset SeriesName='大于或等于-50dBm' Color='A186BE' ShowValues='1' Alpha='100'>
<set Value='1987' Alpha='80' />
</dataset>
</graph>
- 使用技巧:
当我们遇到 y轴出现 Nan.NULL时,可以在graph上添加 yaliasMaxValue='100',既可以解决该问题。
当数据库初始化化,无数据时,往往这个工具不会显示坐标轴(比如 [-80dBm,-70dBm]的统计记录为0时,在坐标轴上就不会出现该统计柱状图)在图表上,我可们可以给这个坐标一个0.001,当让我们decimalPrecision(指定小数位的位数)设置值这时要低于3位小数,否则该0.001就会显示为非0的数据了。
参考:
http://www.cnblogs.com/mingforyou/archive/2012/11/13/2767829.html
http://blog.csdn.net/liangxanhai/article/details/8056295