//首先要先将FusionCharts加入到项目中
前台js:
<script type="text/javascript">
var myChart = new FusionCharts("FusionCharts/MSLine.swf", "myChartId", "100%", "350");
var xmldata = "<%=MSLineData %>";
myChart.setXMLData(xmldata);
myChart.render("chartdiv");
</script>
后台:
//先全局变量
public string MSLineData = "";
//生成xml文件格式的字符窜
public void XmlMin()
{
StringBuilder str = new StringBuilder();
str.Append("<?xml version=\'1.0\' encoding=\'utf-8\' ?>");
str.Append("<chart caption=\'人数曲线监控\' subcaption=\'' lineThickness=\'1\' showValues=\'0\' formatNumberScale=\'0\' anchorRadius=\'2\' divLineAlpha=\'20\' divLineColor=\'CC3300\' divLineIsDashed=\'1\' showAlternateHGridColor=\'1\' alternateHGridAlpha=\'5\' alternateHGridColor=\'CC3300\' shadowAlpha=\'40\' labelStep=\'1\' numvdivlines=\'5\' chartRightMargin=\'35\' bgColor=\'FFFFFF,CC3300\' bgAngle=\'270\' bgAlpha=\'10,10\' xAxisName=\'时间\' yAxisName=\'人数\' rotateYAxisName=\'0\' baseFont=\'Arial\' baseFontSize=\'13\'>");
string dtbefore = GetDate();
string dtnow = GetNow();
int Min = 0;//分钟
string M = Request.QueryString["M"].ToString();//参数 以多少分钟为单位
try
{
int.TryParse(M, out Min);
}
catch
{
Response.Write("humancount.aspx");
}
if (Min > 60)
{
Min = 60;
}
if (Min < 10)
{
Min = 10;
}
ddl_M.SelectedValue = Min.ToString() ;
DataTable dtn = GetDateByMin(Min, DateTime.Parse(dtnow));//某天的数据
DataTable dtbf = GetDateByMin(Min, DateTime.Parse(dtbefore));//某天的数据
if (dtn != null)
{
str.Append("<categories>");
foreach (DataRow dr in dtn.Rows)
{
str.Append("<category label=\'" + DateTime.Parse(dr["li"].ToString()).ToShortTimeString().ToString() + "\' />");
}
str.Append("</categories>");
}
if (dtbf != null)
{
str.Append("<dataset seriesName=\'" + DateTime.Parse(dtbefore).ToString("yyyy-MM-dd") + "\' color=\'1D8BD1\' anchorBorderColor=\'1D8BD1\' anchorBgColor=\'1D8BD1\'>");
foreach (DataRow dr in dtbf.Rows)
{
if (dr["li"] != null)
{
str.Append("<set value=\'" + dr["avg"].ToString() + "\' />");
}
}
str.Append("</dataset>");
}
if (dtn != null)
{
str.Append("<dataset seriesName=\'" + DateTime.Parse(dtnow).ToString("yyyy-MM-dd") + "\' color=\'e60e40\' anchorBorderColor=\'e60e40\' anchorBgColor=\'e60e40\'>");
foreach (DataRow dr in dtn.Rows)
{
if (dr["li"] != null)
{
str.Append("<set value=\'" + dr["avg"].ToString() + "\' />");
}
}
str.Append("</dataset>");
}
str.Append("</chart>");
MSLineData = str.ToString();
}
//这是双曲线,若但曲线只需一个dt就可以啦 注意xml格式和最后赋值哦