fusioncharts
前言
FusionCharts是一个Flash的图表组件,它可以用来制作数据动画图表,其中动画效果用的是Adobe Flash 8 (原Macromedia Flash的)制作的flash , FusionCharts可用于任何网页的脚本语言类似于HTML , .NET,ASP , JSP, PHP , ColdFusion等,提供互动性和强大的图表。使用XML作为其数据接口, FusionCharts充分利用流体美丽的Flash创建紧凑,互动性和视觉逮捕图表。
介绍
官方文档地址
使用js加载
html
<p id="charts" align="center">图形将出现这个 DIV 里,到时这里的字将被图形</p>
js
<script src="js/fusioncharts.js"></script>
<script>
// FusionCharts 对象
var Cart = new FusionCharts("mscombidy2d", "价值保有率2016", "500", "200", "0", "1");
// 数据文件的地址
Cart.setDataURL("index.xml");
Cart.render("charts");
</script>
xml
<chart caption="价值保有率2016" showvalues="0" showlabels="1" labelStep="3" rotateLabels="0" numberSuffix="¥" snumbersuffix="%" decimals="3" setadaptiveymin="1" setadaptivesymin="1" linethickness="5" showborder="0">
<categories>
<category name="" label="拍照月" />
<category name="" label="2016年1月" />
<category name="" label="2016年2月" />
<category name="" label="2016年3月" />
<category name="" label="2016年4月" />
<category name="" label="2016年5月" />
<category name="" label="2016年6月" />
<category name="" label="2016年7月" />
<category name="" label="2016年8月" />
<category name="" label="2016年9月" />
<category name="" label="2016年10月" />
<category name="" label="2016年11月" />
<category name="" label="2016年12月" />
</categories>
<dataset seriesname="实际">
<set value="318993566.08" />
<set value="323942901.40" />
<set value="317073671.93" />
<set value="320178757.03" />
<set value="306341280.07" />
<set value="302826663.93" />
<set value="302830683.65" />
<set value="300917737.23" />
<set value="298008104.75" />
<set value="289682327.54" />
<set value="285146693.08" />
<set value="277049331.04" />
<set value="263401831.83" />
</dataset>
<dataset seriesname="显示">
<set value="478490349.12"/>
<set value="485914352.10"/>
<set value="475610507.90"/>
<set value="480268135.55"/>
<set value="459511920.10"/>
<set value="454239995.89"/>
<set value="454246025.48"/>
<set value="451376605.85"/>
<set value="447012157.13"/>
<set value="434523491.31"/>
<set value="427720039.62"/>
<set vale="1553996.56"/>
<set value="395102747.75"/>
</dataset>
<dataset parentyaxis="S" seriesname="保有率" renderas="Line">
<set value=""/>
<set value="101.55"/>
<set value="104.91"/>
<set value="102.07"/>
<set value="102.66"/>
<set value="102.80"/>
<set value="101.93"/>
<set value="101.10"/>
<set value="100.61"/>
<set value=" 96.20"/>
<set value=" 95.52"/>
<set value=" 94.73"/>
<set value=" 93.72"/>
</dataset>
<dataset parentyaxis="S" seriesname="2016" renderas="Line">
<set value=""/>
<set value="101.56"/>
<set value="100.48"/>
<set value="100.45"/>
<set value="99.34"/>
<set value="98.46"/>
<set value="97.87"/>
<set value="97.37"/>
<set value=""/>
<set value=""/>
<set value=""/>
<set value=""/>
<set value=""/>
</dataset>
<dataset parentyaxis="S" seriesname="同比" renderas="Line">
<set value=""/>
<set value="3.35"/>
<set value="1.59"/>
<set value="2.21"/>
<set value="3.46"/>
<set value="3.47"/>
<set value="3.22"/>
<set value="3.24"/>
<set value=""/>
<set value=""/>
<set value=""/>
<set value=""/>
<set value=""/>
</dataset>
</chart>
效果
json数据
<p id="chart-container">FusionCharts will render here</p>
引入js
<script src="js/fusioncharts.js"></script>
js
<script>
FusionCharts.ready(function() {
var revenueChart = new FusionCharts({
type: 'column2d',
renderAt: 'chart-container',
width: '550',
height: '350',
dataFormat: 'json',
datasource: {
"chart": {
"caption": "Monthly revenue for last year",
"subCaption": "Harry's SuperMart",
"xAxisName": "Month",
"numberPrefix": "$",
"palettecolors": "#0075c2",
"bgColor": "#ffffff",
"borderAlpha": "20",
"canvasBorderAlpha": "0",
"usePlotGradientColor": "0",
"plotBorderAlpha": "10",
"placevaluesInside": "1",
"rotatevalues": "1",
"valueFontColor": "#ffffff",
"showXAxisLine": "1",
"xAxisLineColor": "#999999",
"plineColor": "#999999",
"pLineIsDashed": "1",
"showAlternateHGridColor": "0",
"subcaptionFontBold": "0",
"outcnvbasefontsize": "10",
"subcaptionFontSize": "14",
},
"data": [{
"label": "Jan",
"value": "420000"
}, {
"label": "Feb",
"value": "810000"
}, {
"label": "Mar",
"value": "720000"
}, {
"label": "Apr",
"value": "550000"
}, {
"label": "May",
"value": "910000"
}, {
"label": "Jun",
"value": "510000"
}, {
"label": "Jul",
"value": "680000"
}, {
"label": "Aug",
"value": "620000"
}, {
"label": "Sep",
"value": "610000"
}, {
"label": "Oct",
"value": "490000"
}, {
"label": "Nov",
"value": "900000"
}, {
"label": "Dec",
"value": "730000"
}],
"trendlines": [{
"line": [{
"startvalue": "700000",
"color": "#1aaf5d",
"valueOnRight": "1",
"displayvalue": "Monthly Target"
}]
}]
}
}).render();
});
</script>
效果
参数说明
功能特性
animation 是否动画显示数据,默认为 1(True)
showNames 是否显示横向坐标轴(x轴)标签名称
rotateNames 是否旋转显示标签,默认为0(False):横向显示
showValues 是否在图表显示对应的数据值,默认为1(True)
yAxisMinValue 指定纵轴(y轴)最小值,数字
yAxisMaxValue 指定纵轴(y轴)最大值,数字
showlimits 是否显示图表限值(y轴最大、最小值),默认为1(True)
showColumnShadow 是否显示各条形图间的阴影(若柱面图在一起并列的话)
showAlternateHGridColor 是否隔行显示不同颜色
图表标题和轴名称
caption 图表主标题
subCaption 图表副标题
xAxisName 横向坐标轴(x轴)名称
yAxisName 纵向坐标轴(y轴)名称
imageSave=’1’ 是否保存图片
imageSaveURL=’Path/FusionChartsSave.jsp ‘图片路径
hoverCapSepChar=’,’。鼠标放到柱面上时显示的提示信息的分隔符
showhovercap=’1’ 鼠标放到柱面上时是否显示提示信息
hoverCapBgColor=‘ffffff’提示信息背景颜色
图表和画布的样式
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 画布内部水平分区线条数,数字
pLineColor 水平分区线颜色,6位16进制颜色值
pLineThickness 水平分区线厚度,[1-5]
pLineAlpha 水平分区线透明度,[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’ / (吨)为‘%ef%bc%88%e5%90%a8%ef%bc%89’(Server.UrlEncode编码)
formatNumberscale 是否格式化数字,默认为1(True),自动的给你的数字加上K(千)或M(百万);若取0,则不加K或M
decimalPrecision 指定小数位的位数, [0-10] 例如:=’0’ 取整
pLineDecimalPrecision 指定水平分区线的值小数位的位数, [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 横向坐标轴标签名称