使用FusionCharts 根据数据库里的数据绘制曲线

//首先要先将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格式和最后赋值哦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值