Echarts 数据统计折线图

.aspx

<script src="../js/jquery-1.9.1/jquery.min.js"></script>
<script src="../js/ECharts/echarts.js"></script>     //Echarts官网数据

<script type="text/javascript">
        function InitialReport(data,lastdata,currentyear,lastyear) {
            InitialReasonReport(data, lastdata, currentyear, lastyear);
        }
        function InitialReasonReport(data, lastdata, currentyear, lastyear) {
            var containerID = '<%=contentReportData.ClientID %>';
            //var containerID = 'main';
            data = eval(data);
            lastdata = eval(lastdata);
            //当前年的数据
            var MData = $.map(data, function (obj) {
                return obj.M;
            }); //月份
            var PassRateData = $.map(data, function (obj) {
                return obj.PassRate;
            });
            var goalData = $.map(data, function (obj) {
                return obj.QualityGoal;
            })

            var NewMData = [];
            for (var i = 0; i < MData.length; i++) {
                var temp = { value: MData[i] };
                NewMData.push(temp);
            }
            var NewPassRateData = [];
            for (var i = 0; i < PassRateData.length; i++) {
                var tempP = { value: PassRateData[i] };
                NewPassRateData.push(tempP);
            }
            //前一年的数据
            var LPassRateData = $.map(lastdata, function (obj) {
                return obj.PassRate;
            });
            var LNewPassRateData = [];
            for (var i = 0; i < LPassRateData.length; i++) {
                var tempP = { value: LPassRateData[i] };
                LNewPassRateData.push(tempP);
            }

            //路径配置
            require.config({
                paths: {
                    echarts: "../js/Echarts"
                }
            });

            //使用
            require(
                [
                    'echarts',
                    'echarts/chart/pie',
                    'echarts/chart/line',
                    'echarts/chart/bar'
                ],

            function (ec) {
                //基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById(containerID));
                option = {
                    title: {
                        text: '阀门密封一次试压合格率折线图',
                        subtext: ''+currentyear+'' + '年',
                        x: 'left'
                    },
                    tooltip: {
                        trigger: 'axis',
                        //formatter: "{a} <br/>{b} : {c}%"

                        formatter: function (p) {
                            var res = p[0].name + '<br/>';
                            res += p[0].seriesName + ' : ' + p[0].value + '%<br/>';
                            res += p[1].seriesName + ' : ' + p[1].value + '%';
                            
                            return res;
                        }
                    },
                    legend: {
                        data: [''+currentyear+'' + '年', ''+lastyear+'' + '年','目标']
                    },
                    toolbox: {
                        show: true,
                        feature: {
                            dataZoom: {
                                yAxisIndex: 'none'
                            },
                            dataView: { readOnly: false },
                            magicType: { type: ['line', 'bar'] },
                            restore: {},
                            saveAsImage: {}
                        }
                    },
                    xAxis: {
                        type: 'category',
                        boundaryGap: false,
                        data: NewMData
                    },
                    yAxis: {
                        type: 'value',
                        axisLabel: {
                            formatter: '{value} %'
                        }
                    },
                    series: [
                       {
                           name: ''+currentyear+'' + '年',
                           type: 'line',
                           data: NewPassRateData,
                           itemStyle: {
                               normal: {
                                   label: {
                                       show: true,
                                       position: 'top',
                                       formatter: function (p) {
                                           return p.value + '%';
                                       }
                                   }
                               }
                           },
                           //markPoint: {
                           //    data: [
                           //        { type: 'max', name: '最大值' },
                           //        { type: 'min', name: '最小值' }
                           //    ]
                           //},
                           //markLine: {
                           //    data: [
                           //        { type: 'average', name: '平均值' }
                           //    ]
                           //}
                       },
                       {
                           name: ''+lastyear+'' + '年',
                           type: 'line',
                           data: LNewPassRateData,
                           itemStyle: {
                               normal: {
                                   label: {
                                       show: true,
                                       position: 'top',
                                       formatter: function (p) {
                                           return p.value + '%';
                                       }
                                   }
                               }
                           },
                           //markPoint: {
                           //    data: [
                           //        { name: '最低', value: 0, xAxis: 1, yAxis: 0 }
                           //    ]
                           //},
                           //markLine: {
                           //    data: [
                           //        { type: 'average', name: '平均值' },
                           //        [{
                           //            symbol: 'none',
                           //            x: '90%',
                           //            yAxis: 'max'
                           //        }, {
                           //            symbol: 'circle',
                           //            label: {
                           //                normal: {
                           //                    position: 'start',
                           //                    formatter: '最大值'
                           //                }
                           //            },
                           //            type: 'max',
                           //            name: '最高点'
                           //        }]
                           //    ]
                           //}
                       },
                       {
                           name: '目标',
                           type: 'line',
                           data: goalData,
                           itemStyle: {
                               normal: {
                                   label: {
                                       show: true,
                                       position: 'down',
                                       formatter: function (p) {
                                           return p.value + '%';
                                       }
                                   }
                               }
                           },
                       }
                    ]
                };
                myChart.setOption(option);
            }
            );
        }
    </script>

.aspx.cs


this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script>InitialReport('" + LoadGetLineChartsData() + "','" + LoadGetLineChartsLastData() + "','" + ddlYear.SelectedValue.ToString() + "','" + (Convert.ToInt32(ddlYear.SelectedValue) - 1).ToString() + "');</script>", true);
//data,lastdata,currentyear,lastyear
public string  LoadGetLineChartsData()
        {
            string year = ddlYear.SelectedValue.ToString();
            SqlParameter[] parm = new SqlParameter[] {
                new SqlParameter("@ActionType",SqlDbType.NVarChar,100),
                new SqlParameter("@Year",SqlDbType.NVarChar,100)
            };
            parm[0].Value = "CurrentYear";
            parm[1].Value = year;
            DataSet ds = new DataSet();
            ds = DAL.SqlHelper.ExecuteDataSetProducts("存储过程名称", parm);
            if (ds != null && ds.Tables.Count > 0)
            {
                DataTable dt = ds.Tables[0];
                return JsonConvert.SerializeObject(dt);
            }
            else
            { return ""; }
        }
public string LoadGetLineChartsLastData()
        {
            string year = ddlYear.SelectedValue.ToString();
            SqlParameter[] parm = new SqlParameter[] {
                new SqlParameter("@ActionType",SqlDbType.NVarChar,100),
                new SqlParameter("@Year",SqlDbType.NVarChar,100)
            };
            parm[0].Value = "LastYear";
            parm[1].Value = year;
            DataSet ds = new DataSet();
            ds = DAL.SqlHelper.ExecuteDataSetProducts("存储过程名称", parm);
            if (ds != null && ds.Tables.Count > 0)
            {
                DataTable dt = ds.Tables[0];
                return JsonConvert.SerializeObject(dt);
            }
            else
            { return ""; }
        }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值