一、下载FusionCharts 3.1版
二、拷入Code/CS/Bin中的FusionCharts.dll 和 FusionCharts文件夹及其中的所有js和swf文件到实际项目中
Column2D.swf为2D柱形图
Column3D.swf为3D柱形图
Area2D.swf为面积图
Line.swf为曲线图
Pie3D.swf为饼状图
三、使用FusionCharts的生成图表的三种方式
①、使用XML作为图表数据源
1、创建xml文件XMLFile.xml
<chart caption='Indian Premier League Points' xAxisName='Teams' yAxisName='Points'
showValues='0' formatNumberScale='0' showBorder='0'>
<set label='Mumbai Indians' value='16' />
<set label='Chennai Super Kings' value='14' />
<set label='Kolkata Riders' value='12' />
<set label='Bangalore Royals' value='14' />
<set label='Kochi Tuskers' value='10' />
<set label='Kings XI Punjab' value='10' />
</chart>
注:该xml是FusionCharts的标准文件其中:
caption:解说词及图表的标题
xAxisName:X轴的名称
yAxisName:Y轴的名称
set标签label为名称value为值其中value必须为数字
2、引用FusionCharts.dll 和FusionCharts文件夹中的js文件
<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
3、在文件中加上一个按钮,一个Literall控件,在按钮的事件中编写如下代码:
Literal1.Text = FusionCharts.RenderChart("FusionCharts/Column3D.swf", "XMLFile.xml", "", "myFirst", "700", "500", false, true);
②、使用用户输入数据的方式
1、页面中添加Fusion Charts的脚本调用代码,如下:
<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
2、在页面中添加一个表格,如下图所示:
在这个表格中,允许用户输入三个不同的数值,然后我们进行相应的处理。
3、在提交的按钮的事件代码中,编写如下代码:
StringBuilder xmlData = new StringBuilder();
xmlData.Append("<chart caption='IPL Points' subCaption='For Season 2011 so far'
showPercentValues='1' pieSliceDepth='30' showBorder='1'>");
xmlData.AppendFormat("<set label='Mumbai' value='{0}' />", txtMumbai.Text);
xmlData.AppendFormat("<set label='Chennai' value='{0}' />", txtChennai.Text);
xmlData.AppendFormat("<set label='Kochi' value='{0}' />", txtKochi.Text);
xmlData.Append("</chart>");
Literal1.Text = FusionCharts.RenderChart("FusionCharts/Pie3D.swf", "",
xmlData.ToString(), "Sales", "500", "300", false, false);
③、使用数据库读取图表
1、页面中添加Fusion Charts的脚本调用代码,如下:
<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
2、配置web.config连接库 使用代码生成器生成DAL层代码
3、在cs中加上添加按钮事件
IDataReader dr = new DAL.VoteDAL().GetRead();
StringBuilder xmlData = new StringBuilder();
xmlData.AppendFormat("<chart>");
while (dr.Read())
{
xmlData.AppendFormat("<set label='{0}' value='{1}' />",dr["vote"].ToString(),dr["num"].ToString());
}
xmlData.AppendFormat("</chart>");
lit.Text = FusionCharts.RenderChart("FusionCharts/Column2D.swf", "",
xmlData.ToString(), "chart1", "500", "400", false, true);
4、在DAL层中加上获取数据流的方法
public IDataReader GetRead()
{
string sql = "select vote, COUNT(ip) as num from cms_vote group by vote";
Database db = DatabaseFactory.CreateDatabase();
return db.ExecuteReader(CommandType.Text, sql);
}
学习站:http://database.chinaunix.net/a2011/0801/1226/000001226105.shtml