• 使用jquery第三方插件(生成曲线图)


    最近项目中有用到生成曲线图,经过查找资料解决了,虽然有简单说明但参数比较多和麻烦,于是自己没事就总结了项目中的具体用法:

    准备工作:首先添加jquery的插件包到程序中,路径:https://files.cnblogs.com/jameslif/codebase.rar  然后在代码中依次添加引用文件

                  准备你认为OK的几种颜色值 我这里有收藏:常用的颜色(30种)http://www.cnblogs.com/jameslif/archive/2012/05/10/2494712.html 准备工作OK了;

     property是重要的参数 

     1 public string property;
     2 public string dataKind;
     3 public string data;
     4 public string simple;
     5 string[] colors = { "#51e1d5", "#8DC63F", "#F7EE1D", "#ED1C24", "#ED9944", "#0000FF", "#60281e", "#827100", "#ca6924", "#ca6924",
     6                       "#6e511e","#bddd22","#789262","#0eb83a","#000000","#c0ebd7","#424c50","#44cef6","#4b5cc4","#8d4bbb"};
     7  private void SetProperty()
     8     {
     9         property = "{maxValue:110,minValue:0,stepValue:5,valueP:30,maxNorm:24,minNorm:1,stepNorm:1,normP:27,";
    10         property += "normFormat:\"&d月\",curve_border:2,point_radius:4,tipX:\"月份\",tipY:\"得分\"}";
    11     }

    解释:color为某一种数据的代表颜色;maxValue:110,//Y轴最大值 minValue:0,//Y轴最小值 ;stepValue:5,//Y轴每两个刻度间距所表示的单元步进值;valueP:30,//表示Y轴每个单元步进值所用的像素高度 ;maxNorm:24,//X轴最大值;minNorm:1,//X轴最小值;stepNorm:1,//X轴每两个刻度间距所表示的单元步进值;normP:27,//表示X轴每个单元步进值所用的像素宽度;normFormat:"&d月",//X轴上坐标值的显示单位格式,其中必须包含&d占位符,用来被X轴的真实值替换,默认为"&d";curve_border:2,//曲线的粗细,单位像素;point_radius:4,//圈点的半径,单位像素;tipX:"月份",//浮动提示框中的X轴显示文字说明;tipY:"得分"//浮动提示框中的Y轴显示文字说明

    setDataKind方法中的传参: dataKind

     public void SetDataKind()
        {
            SoftNameSpace.BLL.dept bll = new SoftNameSpace.BLL.dept();
            DataSet ds = bll.GetAllList();
            int i = 0;
            string color = "#51e1d5";//默认值;
            dataKind = "[";
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if (i < colors.Length)
                {
                    color = colors[i];
                }
                else
                {
                    color = "#51e1d5";//默认值;
                }
    
                dataKind += "{id:'c" + (i++).ToString() + "',color:'" + color + "',label:'" + dr["deptName"].ToString() + "'},";
            }
            //删除逗号
            if (dataKind.Length > 2)
            {
                dataKind = dataKind.Remove(dataKind.Length - 1, 1);
            }
            dataKind = dataKind + "]";
        }

    解释:其中,ID为唯一序列号,color为该种数据的颜色,label为说明文字 最终形式:[{id:'c0',color:'#51e1d5',label:'修车车间'},{id:'c1',color:'#8DC63F',label:'动态车间'}]

    loadDataList方法中的传参: data(即为要显示渲染的具体数据内容)

     private string Analysis(string id, string name)
        {
            SoftNameSpace.BLL.examList bll = new SoftNameSpace.BLL.examList();
            DataSet ds = bll.GetList("year(examdate) = '" + dropyear.Text + "' order by d.DeptName,examdate ");
            string ret = "{id:'" + id + "',items:[";
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if (dr["DeptName"].Equals(name))
                {
                    DateTime dt = Convert.ToDateTime(dr["examDate"].ToString());
                    ret += "[" + dt.Month.ToString() + "," + dr["SumValue"] + ",true],";
                }
            }
            //删除多余的逗号
            ret = ret.Remove(ret.Length - 1, 1);
            ret += "]}";
            return ret;
        }

    解释:id:唯一序列号,与数据类型的序列号对应,用于快速找出该组数据是哪一种数据;items,数据的详细信息,为一个二维数组,每个一维单元中的小数组里的参数是这样的:第一个为坐标系里的X值,第二个为坐标系里的Y值,第三个表示该点上要不要画一个能出TIP提示信息的圈点 最终形式:{id:'c0',items:[[3,100.00,true],[4,94.70,true],[5,99.50,true]]}

    loadSimpleData方法中的传参: simple(即为要显示渲染的具体数据内容

     1  public void SetData()
     2     {
     3         SoftNameSpace.BLL.dept bll = new SoftNameSpace.BLL.dept();
     4         DataSet ds = bll.GetAllList();
     5         int i = 0;
     6         data = "[";
     7         foreach (DataRow dr in ds.Tables[0].Rows)
     8         {
     9             data += Analysis("c" + (i++).ToString(), dr["deptName"].ToString()) + ",";
    10         }
    11         //删除逗号
    12         if (data.Length > 2)
    13         {
    14             data = data.Remove(data.Length - 1, 1);
    15         }
    16         data = data + "]";
    17     }

    解释:最终形式[{id:'c0',items:[[3,100.00,true],[4,94.70,true],[5,99.50,true]]},{id:'c1',items:[[3,100.00,true],[4,90.50,true],[5,99.20,true]]},{id:'c2',items:[[3,100.00,true],[4,94.30,true],[5,94.60,true]]}可以看出,该形式是data数组中的一个单元

    前段JavsScript代码

    <script type="text/javascript">
        var property=<%=property %>
        var dataKind=<%=dataKind %>;
        var data=<%=data %>;
        var simple=<%=simple %>;
        var demo;
        $(document).ready(function(){
            demo=$.createGooCurveChart($("#demo"),property);
            demo.setTitle("达标考核揭示表","分");
            demo.setDataKind(dataKind,600,150,"right");
            demo.loadSimpleData(simple);
            demo.loadDataList(data);
            //demo.clearAllData();
        });
        </script>
    --页面提出来的显示区域
    <div id="demo"> </div>
    如果还有不明白的多多留言呀!效果图:

  • 相关阅读:
    Day1-CSS-下拉菜单
    scau 1138 代码等式
    SCAU-1076 K尾相等数
    勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创)
    SCAU-1144 数星星-HDU-1166-树状数组的应用
    NodeJs Fs模块
    Node核心模块
    flutter环境配置
    纯CSS制作图形效果
    CSS3选择器
  • 原文地址:https://www.cnblogs.com/jameslif/p/2494705.html
Copyright © 2020-2023  润新知