public override EChartsOption GetOption() { var option = new EChartsOption(); option.XAxisCollection = new XAxis { AXisType = AxisType.Category, Data = new List <string> { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" } }; option.YAxisCollection = new YAxis { AXisType = AxisType.Value }; option.SerieList = new List <Serie>(); option.SerieList.Add(new Serie()); option.SerieList[0].Data = new List <int> { 820, 932, 901, 934, 1290, 1330, 1320 }; option.SerieList[0].SerieType = SerieTypeEnum.Line; return(option); }
public override EChartsOption GetOption() { EChartsOption option = new EChartsOption(); option.XAxisCollection = new XAxis { AXisType = AxisType.Category, Data = new List <string> { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" }, BoundaryGap = false }; option.YAxisCollection = new YAxis { AXisType = AxisType.Value }; option.SerieList = new List <Serie>(); option.SerieList.Add(new Serie { SerieType = SerieTypeEnum.Line, Data = new List <int> { 820, 932, 901, 934, 1290, 1330, 1320 }, AreaStyle = new AreaStyle() }); return(option); }
public override EChartsOption GetOption() { EChartsOption option = new EChartsOption(); return(option); }
public override EChartsOption GetOption() { int count = 10; EChartsOption option = new EChartsOption(); option.CreateTitle("柱状图动画延迟"); option.Legend = new Legend { Data = new List <string> { "bar", "bar2" } }; option.Tooltip = new Tooltip { }; option.XAxisCollection = new XAxis { Data = GetList(count) }; option.YAxisCollection = new YAxis { }; option.SerieList = new List <Serie>(); option.SerieList.Add(new Serie { Name = "bar", SerieType = SerieTypeEnum.Bar, Data = GetList(i => { return((Math.Sin(i / 5) * (i / 5 - 10) + i / 6) * 5); }, count) }); option.SerieList.Add(new Serie { Name = "bar2", SerieType = SerieTypeEnum.Bar, Data = GetList(i => { return((Math.Cos(i / 5) * (i / 5 - 10) + i / 6) * 5); }, count) }); return(option); }
public JavaScriptJsonResult UserAreaChart() { string openId = this.TempData["openId"] != null ? this.TempData["openId"] as string : ""; DateTime sDate = (DateTime)this.TempData["StartDate"]; DateTime eDate = (DateTime)this.TempData["EndDate"]; var yQuery = db.Log_MemberAccess.AsNoTracking(); List <object> accessList = new List <object>(); string q = this.TempData["query"] as string; if (!String.IsNullOrEmpty(q)) { if (String.IsNullOrEmpty(openId)) { accessList = yQuery.Where(p => p.RequestUrl.Contains(q) && p.CreateTime >= sDate && p.CreateTime <= eDate).Select(p => p.RequestUrl).Distinct().ToList().Select(p => (object)p).ToList(); } else { accessList = yQuery.Where(p => p.RequestUrl.Contains(q) && p.OpenId.Contains(openId) && p.CreateTime >= sDate && p.CreateTime <= eDate).Select(p => p.RequestUrl).Distinct().ToList().Select(p => (object)p).ToList(); } } else { if (String.IsNullOrEmpty(openId)) { accessList = yQuery.Where(p => p.CreateTime >= sDate && p.CreateTime <= eDate).Select(p => p.RequestUrl).Distinct().ToList().Select(p => (object)p).ToList(); } else { accessList = yQuery.Where(p => p.OpenId.Contains(openId) && p.CreateTime >= sDate && p.CreateTime <= eDate).Select(p => p.RequestUrl).Distinct().ToList().Select(p => (object)p).ToList(); } } var yPoint = new List <object>(); foreach (var item in accessList) { if (String.IsNullOrEmpty(openId)) { yPoint.Add(db.Log_MemberAccess.Where(p => p.CreateTime >= sDate && p.CreateTime <= eDate && p.RequestUrl == item).Count().ToString()); } else { yPoint.Add(db.Log_MemberAccess.Where(p => p.OpenId.Contains(openId) && p.CreateTime >= sDate && p.CreateTime <= eDate && p.RequestUrl == item).Count().ToString()); } } var chartOptions = new EChartsOption() { Title = new Title("URL访问排名分布统计图") { Left = new AlignValue(Align.center) }, Series = new Series[] { new BarSeries() { Name = "访问排名分布", Data = yPoint, MarkPoint = new MarkPoint() { Data = new List <MarkData>() { new MarkData() { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData() { Type = MarkPointDataTypes.min, Name = "最小值" }, } }, MarkLine = new MarkLine() { Data = new List <MarkData>() { new MarkData() { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = accessList } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value, Data = yPoint } }, }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult Echart(string id) { if (id == "Category") { var name = new List <object>(); name.Add("总长"); name.Add("合流"); name.Add("雨水"); name.Add("污水"); var data_fix = new List <object>() { new { value = 1637.029, name = "排水管总长" }, new { value = 552.594, name = "合流管道总长" }, new { value = 724.804, name = "雨水管道总长" }, new { value = 359.631, name = "污水管道总长" } }; var chartOptions_fix = new EChartsOption { Title = new Title("排水管长度统计(km)") { Left = new AlignValue(Align.center) }, Tooltip = new Tooltip(), Series = new Series[] { new BarSeries { Name = "排水管长度统计(km)", Data = data_fix, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = name } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value } } }; return(this.ToEChartResult(chartOptions_fix)); } string titlename = ""; var countnumber = new List <object>(); var countname = new List <object>(); var codeService = new sys_codeService(); var getChartService = new mms_drainpipeService(); List <dynamic> data = getChartService.GetCountByGroupName(id); foreach (var result in data) { foreach (var item in (IDictionary <string, object>)result) { if (item.Key.Equals(id)) { //codeService.GetTextByCode(item.Value.ToString(), "InspectionWellCategory"); if (id == "Category") { countname.Add(codeService.GetTextByCode(item.Value.ToString(), "InspectionWellCategory")); titlename = "排水管类型统计图"; } if (id == "AdministrativeArea") { countname.Add(codeService.GetTextByCode(item.Value.ToString(), "AdministrativeArea")); titlename = "排水管区域分布统计图"; } if (id == "OwnershipUnit") { countname.Add(item.Value.ToString()); titlename = "排水管权属单位分布统计图"; } } if (item.Key.Equals("countnumber")) { countnumber.Add(item.Value.ToString()); } } } var chartOptions = new EChartsOption { Title = new Title(titlename) { Left = new AlignValue(Align.center) }, Tooltip = new Tooltip(), Series = new Series[] { new BarSeries { Name = titlename, Data = countnumber, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { //new MarkData {Type = MarkPointDataTypes.average, Name = "平均值"} } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = countname } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value } } }; return(this.ToEChartResult(chartOptions)); }
public async Task SetupOptionAsync(EChartsOption <T> opt, bool notMerge = false) { await JSRuntime.SetupChart(Id, opt, notMerge); }
public JavaScriptJsonResult UserMouthAddReport() { var seriesData_number = new List <object>(); var seriesData_logincount = new List <object>(); var xAxisData_rq = new List <object>(); var Lst_User = db.User_Infos.AsNoTracking().ToList(); for (var i = 0; i < 30; i++) { var currentTime = DateTime.Now.AddDays(-i); xAxisData_rq.Add(currentTime.ToString("dd号")); var Lst = Lst_User.Where(p => p.CreateTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd")).ToList(); seriesData_number.Add(Lst.Count().ToString()); seriesData_logincount.Add(Lst.Sum(p => p.LoginCount).ToString()); } var x_rq = new XAxis(); x_rq.Type = AxisTypes.category; x_rq.Data = xAxisData_rq; var y_number = new YAxis(); y_number.Type = AxisTypes.value; y_number.AxisLabel = new Label { Formatter = "{value} 人" }; y_number.Name = "会员人数"; var y_logincount = new YAxis(); y_logincount.Type = AxisTypes.value; y_logincount.AxisLabel = new Label { Formatter = "{value} 次" }; y_logincount.Name = "会员登录次数"; y_logincount.Position = YAxisPosition.right; var login_legend = new Legend(); login_legend.Data = new[] { new LegendData("会员人数"), new LegendData("会员登录次数") }; var chart_tooltip = new Tooltip(); chart_tooltip.Trigger = TooltipTriggerTypes.axis; var chartOptions = new EChartsOption { Title = new Title("会员新增图表") { Left = new AlignValue(Align.left), Subtext = "最近30天" }, Toolbox = new ToolBox(), Tooltip = chart_tooltip, Series = new Series[] { new LineSeries { Name = "会员人数", Data = seriesData_number, Smooth = true, YAxisIndex = 0, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "会员登录次数", Data = seriesData_logincount, Smooth = true, YAxisIndex = 1, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, Legend = login_legend, XAxis = new XAxis[1] { x_rq }, YAxis = new YAxis[2] { y_number, y_logincount } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult Echart(string id) { string titlename = ""; var countnumber = new List <object>(); var countname = new List <object>(); var codeService = new sys_codeService(); var getChartService = new mms_dischargeportService(); List <dynamic> data = getChartService.GetCountByGroupName(id); foreach (var result in data) { foreach (var item in (IDictionary <string, object>)result) { if (item.Key.Equals(id)) { if (id == "Category") { countname.Add(codeService.GetTextByCode(item.Value.ToString(), "InspectionWellCategory")); titlename = "排放口类型统计图"; } if (id == "AdministrativeArea") { countname.Add(codeService.GetTextByCode(item.Value.ToString(), "AdministrativeArea")); titlename = "排放口区域分布统计图"; } if (id == "Form") { countname.Add(codeService.GetTextByCode(item.Value.ToString(), "DischargeportForm")); titlename = "排放口出流形式统计图"; } } if (item.Key.Equals("countnumber")) { countnumber.Add(item.Value.ToString()); } } } var chartOptions = new EChartsOption { Title = new Title(titlename) { Left = new AlignValue(Align.center) }, Tooltip = new Tooltip(), Series = new Series[] { new BarSeries { Name = titlename, Data = countnumber, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { //new MarkData {Type = MarkPointDataTypes.average, Name = "平均值"} } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = countname } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value } } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult UserTimeChart() { var seriesData = new List <object>(); var xAxisData = new List <object>(); for (var i = 0; i < 6; i++) { var currentTime = DateTime.Now.AddMonths(-i); xAxisData.Add(currentTime.ToString("MM月")); seriesData.Add( db.WeiChat_Users.AsNoTracking() .Where( p => (p.SubscribeTime.Year == currentTime.Year) && (p.SubscribeTime.Month == currentTime.Month)) .Count() .ToString()); } var chartOptions = new EChartsOption { Title = new Title("半年公众号关注变化") { Left = new AlignValue(Align.center) }, Series = new Series[] { new LineSeries { Name = "半年公众号关注变化", Data = seriesData, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = xAxisData } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value, AxisLabel = new Label { Formatter = "{value} 人" } } } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult UserAreaChart() { var provinces = db.WeiChat_Users.AsNoTracking() .Where(p => p.Subscribe) .Select(p => p.Province) .Distinct() .ToList() .Select(p => (object)p) .ToList(); var valueList = new List <object>(); foreach (var item in provinces) { valueList.Add(db.WeiChat_Users.Where(p => p.Subscribe && (p.Province == item)).Count().ToString()); } var chartOptions = new EChartsOption { Title = new Title("粉丝分布统计图") { Left = new AlignValue(Align.center) }, Series = new Series[] { new BarSeries { Name = "粉丝分布", Data = valueList, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = provinces } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value } } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult UserMouthTransmissionReport() { var yQuery = db.Log_MemberAccess.AsNoTracking().ToList(); var seriesData_number = new List <object>(); var xData_rq = new List <object>(); for (var i = 0; i < 30; i++) { var currentTime = DateTime.Now.AddDays(-i); xData_rq.Add(currentTime.ToString("dd号")); var Lst = yQuery.Where(p => p.CreateTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd")).ToList(); seriesData_number.Add(Lst.Count().ToString()); } Legend login_legend = new Legend(); login_legend.Data = new LegendData[] { new LegendData("访问次数") }; Tooltip chart_tooltip = new Tooltip(); chart_tooltip.Trigger = TooltipTriggerTypes.axis; var chartOptions = new EChartsOption { Title = new Title("最近30天会员访问情况") { Left = new AlignValue(Align.left) }, Toolbox = new ToolBox(), Tooltip = chart_tooltip, Legend = login_legend, Series = new Series[] { new BarSeries { Name = "访问次数", Data = seriesData_number, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = xData_rq } }, YAxis = new YAxis[1] { new YAxis { Name = "访问次数", Type = AxisTypes.value, AxisLabel = new Label { Formatter = "{value} 次" } } } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult OrderMouthReport() { var seriesData_number = new List <object>(); var seriesData_money = new List <object>(); var xAxisData_rq = new List <object>(); var Lst_Order = db.Order_Infos.AsNoTracking().ToList(); for (var i = 0; i < 30; i++) { var currentTime = DateTime.Now.AddDays(-i); xAxisData_rq.Add(currentTime.ToString("dd号")); var Lst = Lst_Order.Where(p => (p.CreateTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd")) && ((p.State != EnumOrderStatus.Obligation) || (p.State != EnumOrderStatus.ReturnedGoods) || (p.State != EnumOrderStatus.UnpaidDelete))).ToList(); seriesData_number.Add(Lst.Count().ToString()); seriesData_money.Add(Lst.Sum(p => p.TotalPrice).ToString()); } var x_rq = new XAxis(); x_rq.Type = AxisTypes.category; x_rq.Data = xAxisData_rq; var y_number = new YAxis(); y_number.Type = AxisTypes.value; y_number.AxisLabel = new Label { Formatter = "{value} 单" }; y_number.Name = "订单笔数"; var y_money = new YAxis(); y_money.Type = AxisTypes.value; y_money.AxisLabel = new Label { Formatter = "{value} 元" }; y_money.Name = "订单金额"; y_money.Position = YAxisPosition.right; var order_legend = new Legend(); order_legend.Data = new[] { new LegendData("订单笔数"), new LegendData("订单金额") }; var chart_tooltip = new Tooltip(); chart_tooltip.Trigger = TooltipTriggerTypes.axis; var chartOptions = new EChartsOption { Title = new Title("订单交易图表") { Left = new AlignValue(Align.left), Subtext = "最近30天" }, Calculable = true, Toolbox = new ToolBox(), Tooltip = chart_tooltip, Series = new Series[] { new LineSeries { Name = "订单笔数", Data = seriesData_number, Smooth = true, YAxisIndex = 0, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "订单金额", Data = seriesData_money, Smooth = true, YAxisIndex = 1, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, Legend = order_legend, XAxis = new XAxis[1] { x_rq }, YAxis = new YAxis[2] { y_number, y_money } }; return(this.ToEChartResult(chartOptions)); }
public JavaScriptJsonResult OrderStateReport() { var seriesData_number = new List <object>(); //所有数量 var seriesData_Closed = new List <object>(); //已经关闭订单 var seriesData_Obligation = new List <object>(); //待付款订单 var seriesData_Overhang = new List <object>(); //待发货订单 var seriesData_PaidDelete = new List <object>(); //已付款未删除 var seriesData_ReturnedGoods = new List <object>(); //退货/退款 var seriesData_Success = new List <object>(); //交易完成 var seriesData_UnpaidDelete = new List <object>(); //未付款删除 var seriesData_WaitReceiving = new List <object>(); //待发货 var xAxisData_rq = new List <object>(); var Lst_Order = db.Order_Infos.AsNoTracking().ToList(); for (var i = 0; i < 30; i++) { var currentTime = DateTime.Now.AddDays(-i); xAxisData_rq.Add(currentTime.ToString("dd号")); var Lst = Lst_Order.Where(p => p.CreateTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd")).ToList(); seriesData_number.Add(Lst.Count().ToString()); seriesData_Closed.Add(Lst.Where(p => p.State == EnumOrderStatus.Closed).ToList().Count().ToString()); seriesData_Obligation.Add( Lst.Where(p => p.State == EnumOrderStatus.Obligation).ToList().Count().ToString()); seriesData_Overhang.Add(Lst.Where(p => p.State == EnumOrderStatus.Overhang).ToList().Count().ToString()); seriesData_PaidDelete.Add( Lst.Where(p => p.State == EnumOrderStatus.PaidDelete).ToList().Count().ToString()); seriesData_ReturnedGoods.Add( Lst.Where(p => p.State == EnumOrderStatus.ReturnedGoods).ToList().Count().ToString()); seriesData_Success.Add(Lst.Where(p => p.State == EnumOrderStatus.Success).ToList().Count().ToString()); seriesData_UnpaidDelete.Add( Lst.Where(p => p.State == EnumOrderStatus.UnpaidDelete).ToList().Count().ToString()); seriesData_WaitReceiving.Add( Lst.Where(p => p.State == EnumOrderStatus.WaitReceiving).ToList().Count().ToString()); } //多个(大于3个)series的data元素,一个日期x坐标一个数量y坐标 var x_rq = new XAxis(); x_rq.Type = AxisTypes.category; x_rq.Data = xAxisData_rq; var y_number = new YAxis(); y_number.Type = AxisTypes.value; y_number.AxisLabel = new Label { Formatter = "{value} 单" }; y_number.Name = "订单数"; var login_legend = new Legend(); login_legend.Data = new[] { new LegendData("总订单"), new LegendData("已关闭"), new LegendData("待付款"), new LegendData("待发货"), new LegendData("已付款未删除"), new LegendData("退货/退款"), new LegendData("交易完成"), new LegendData("未付款删除"), new LegendData("待发货") }; login_legend.Padding = 2; var chart_tooltip = new Tooltip(); chart_tooltip.Trigger = TooltipTriggerTypes.axis; var chartOptions = new EChartsOption { Title = new Title("订单状态图表") { Left = new AlignValue(Align.left), Subtext = "最近30天" }, Calculable = true, Toolbox = new ToolBox(), Tooltip = chart_tooltip, Series = new Series[] { #region Series new LineSeries { Name = "总订单", Data = seriesData_number, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "已关闭订单数", Data = seriesData_Closed, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "待付款", Data = seriesData_Obligation, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "待发货", Data = seriesData_Overhang, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "已付款未删除", Data = seriesData_PaidDelete, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "退货/退款", Data = seriesData_ReturnedGoods, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "交易完成", Data = seriesData_Success, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "未付款删除", Data = seriesData_UnpaidDelete, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } }, new LineSeries { Name = "待发货", Data = seriesData_WaitReceiving, Smooth = true, MarkPoint = new MarkPoint { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData { Type = MarkPointDataTypes.min, Name = "最小值" } } }, MarkLine = new MarkLine { Data = new List <MarkData> { new MarkData { Type = MarkPointDataTypes.average, Name = "平均值" } } } } #endregion }, Legend = login_legend, XAxis = new XAxis[1] { x_rq }, YAxis = new YAxis[1] { y_number } }; return(this.ToEChartResult(chartOptions)); }
public async Task SetupOptionAsync(EChartsOption <T> opt, bool notMerge = false) { await JsInterop.SetupChart(Id, Theme, opt, notMerge); }
public override EChartsOption GetOption() { EChartsOption option = new EChartsOption(); option.TitleCollection = new List <Title>(); option.TitleCollection.Add(new Title { Text = "MainTitle", SubText = "link", Left = LeftEnum.Center }); option.Toolbox = new Toolbox { Show = true, Feature = new Feature { Restore = new Restore { Show = true }, SaveAsImage = new SaveAsImage { Show = true } } }; option.Tooltip = new Tooltip { Formatter = "{a} <br/>{b} : {c} ({d}%)", Trigger = "item" }; option.Calculable = true; option.Legend = new Legend { Orient = "vertical", Left = LeftEnum.Left }; option.Legend.Data = new List <string> { "成功", "[优惠平台]优惠券已使用", "[度假]优惠券在当前订单没有匹配的阶梯", "[度假]该产品不可以使用该优惠券", "[优惠平台]使用次数超过策略允许最大值", "[度假]订单原始金额(orderAmount)必须是正数", "[优惠平台]优惠券不存在", "[优惠平台]风控屏蔽!", "[优惠平台]产线ID与策略不匹配", "[度假]优惠券在当前平台(platformId)不可用", "[优惠平台]优惠券所属适用站点不匹配", "[度假]优惠券在当前渠道不可用", "[优惠平台]该限时优惠券已被其他用户收藏", "[优惠平台]券码不合法", "[度假]用户信息(UserInfo)必传", "[度假]这张订单想要优惠的金额太多了", "[度假]优惠券没有被设置", "[优惠平台]优惠券已经失效", "[优惠平台]活动已经结束了" }; //option.series = [{ // name: '访问来源', // type: 'pie', // radius: ['50%', '70%'], // itemStyle: { // normal: { label: { show: false }, labelLine: { show: false } }, // emphasis: { label: { show: true, position: 'center', textStyle: { fontSize: '30', fontWeight: 'bold' } } } // }, // data: data.serieData //}]; option.SerieList = new List <Serie>(); option.SerieList.Add(new Serie { Name = "访问来源", SerieType = SerieTypeEnum.Pie, Radius = new List <string> { "50%", "70%" } }); option.SerieList[0].ItemStyle = new Dictionary <string, ItemStyle>(); option.SerieList[0].ItemStyle.Add("normal", new ItemStyle { Label = new Label { Show = false }, LabelLine = new LabelLine { Show = false } }); option.SerieList[0].ItemStyle.Add("emphasis", new ItemStyle { Label = new Label { Show = true, Position = "center", TextStyle = new TextStyle { FontSize = 30, FontWeight = "bold" } } }); option.SerieList[0].Data = new List <SerieData> { new SerieData { Name = "成功", Value = 10503 }, new SerieData { Name = "[优惠平台]优惠券已使用", Value = 212 }, new SerieData { Name = "[度假]优惠券在当前订单没有匹配的阶梯", Value = 201 }, new SerieData { Name = "[度假]该产品不可以使用该优惠券", Value = 170 }, new SerieData { Name = "[优惠平台]使用次数超过策略允许最大值", Value = 107 }, new SerieData { Name = "[度假]订单原始金额(orderAmount)必须是正数", Value = 97 }, new SerieData { Name = "[优惠平台]优惠券不存在", Value = 58 }, new SerieData { Name = "[优惠平台]风控屏蔽!", Value = 38 }, new SerieData { Name = "[优惠平台]产线ID与策略不匹配", Value = 24 }, new SerieData { Name = "[度假]优惠券在当前平台(platformId)不可用", Value = 22 }, new SerieData { Name = "[优惠平台]优惠券所属适用站点不匹配", Value = 19 }, new SerieData { Name = "[度假]优惠券在当前渠道不可用", Value = 17 }, new SerieData { Name = "[优惠平台]该限时优惠券已被其他用户收藏", Value = 12 }, new SerieData { Name = "[优惠平台]券码不合法", Value = 5 }, new SerieData { Name = "[度假]用户信息(UserInfo)必传", Value = 3 }, new SerieData { Name = "[度假]这张订单想要优惠的金额太多了", Value = 3 }, new SerieData { Name = "[度假]优惠券没有被设置", Value = 2 }, new SerieData { Name = "[优惠平台]优惠券已经失效", Value = 1 }, new SerieData { Name = "[优惠平台]活动已经结束了", Value = 1 } }; return(option); }
public override EChartsOption GetOption() { EChartsOption option = new EChartsOption(); option.CreateTitle("雨量流量关系图").SetSubText("数据来自西安兰特水电测控技术有限公司").SetLeft(LeftEnum.Center); option.GridCollection = new Grid { Bottom = 80 }; option.Toolbox = new Toolbox { Feature = new Feature { Restore = { }, SaveAsImage = { }, DataZoom = new DataZoom { YAxisIndex = "none" } } }; option.Tooltip = new Tooltip { Trigger = "axis", AxisPointer = new AxisPointer { Type = "cross", Animation = false, Label = new Label { BackgroundColor = "#505765" } } }; option.Legend = new Legend { Left = LeftEnum.Left, Data = new List <string> { "流量", "降雨量" } }; option.DataZoom = new List <DataZoom>(); option.DataZoom.Add(new DataZoom { Show = true, RealTime = true, Start = 65, End = 85 }); option.DataZoom.Add(new DataZoom { Type = "inside", RealTime = true, Start = 65, End = 85 }); DateTime start = new DateTime(2009, 6, 12, 2, 0, 0); DateTime end = new DateTime(2009, 6, 14, 0, 0, 0); //DateTime end = new DateTime(2009, 6, 13, 0, 0, 0); option.XAxisCollection = new XAxis { AXisType = AxisTypeEnum.Category, BoundaryGap = false, AxisLine = new AxisLine { OnZero = false } }; option.XAxisCollection[0].Data = GetTimes(start, end); option.YAxisCollection = new YAxisCollection(); option.YAxisCollection.Add(new YAxis { AXisType = AxisType.Value, Name = "流量(m^3/s)", Max = 500 }); option.YAxisCollection.Add(new YAxis { AXisType = AxisType.Value, Name = "降雨量(mm)", NameLocation = "start", Inverse = true, Max = 5 }); option.SerieList = new List <Serie>(); option.SerieList.Add(new Serie { Name = "流量", SerieType = SerieTypeEnum.Line, Animation = false, AreaStyle = new AreaStyle { Normal = new object { } }, LineStyle = new LineStyle { Width = 1 }, Data = GetValues(start, end, 100, 10000) }); option.SerieList.Add(new Serie { Name = "降水量", SerieType = SerieTypeEnum.Line, Animation = false, YAxisIndex = 1, AreaStyle = new AreaStyle { Normal = new object { } }, LineStyle = new LineStyle { Width = 1 }, Data = GetValues(start, end, 0, 100) }); return(option); }
/// <summary> /// 配置Echarts参数 /// </summary> /// <param name="id">ECharts容器ID</param> /// <param name="theme">主题</param> /// <param name="option">参数</param> /// <returns></returns> public async Task SetupChart <T>(string id, string theme, EChartsOption <T> option, bool notMerge = false) { await SetupChart(id, theme, option.ToString(), notMerge); }
/// <summary> /// 返回符合Echart的结果 /// </summary> /// <param name="controller">控制器对象</param> /// <param name="option">EChartsOption对象</param> /// <param name="behavior">是否允许HttpGet请求</param> /// <returns></returns> public static JavaScriptJsonResult ToEChartResult(this Controller controller, EChartsOption option, JsonRequestBehavior behavior = JsonRequestBehavior.AllowGet) { return(new JavaScriptJsonResult { Data = option, ContentEncoding = null, ContentType = null, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public JavaScriptJsonResult UserTimeChart() { string openId = this.TempData["openId"] != null ? this.TempData["openId"] as string : ""; var seriesData = new List <object>(); var xAxisData = new List <object>(); int firstDay = ((DateTime)this.TempData["StartDate"]).Day; int lastDay = ((DateTime)this.TempData["EndDate"]).Day; for (int i = firstDay; i <= lastDay; i++) { xAxisData.Add("第" + i.ToString() + "天"); int currentDayPointCount; if (!String.IsNullOrEmpty(openId)) { currentDayPointCount = db.Log_Points.AsNoTracking().Where(p => p.OpenId == openId && p.CreateTime.Day == i && p.CreateTime.Month == DateTime.Now.Month).Count(); } else { currentDayPointCount = db.Log_Points.AsNoTracking().Where(p => p.CreateTime.Day == i && p.CreateTime.Month == DateTime.Now.Month).Count(); } if (currentDayPointCount > 0) { int currentdayMaxPoint; if (!String.IsNullOrEmpty(openId)) { currentdayMaxPoint = db.Log_Points.AsNoTracking().Where(p => p.OpenId == openId && p.CreateTime.Day == i && p.CreateTime.Month == DateTime.Now.Month).Max(m => m.Point); seriesData.Add(currentdayMaxPoint.ToString()); } else { currentdayMaxPoint = db.Log_Points.AsNoTracking().Where(p => p.CreateTime.Day == i && p.CreateTime.Month == DateTime.Now.Month).Max(m => m.Point); seriesData.Add(currentdayMaxPoint.ToString()); } } else { seriesData.Add("0"); } } //获取最大积分用于y轴 List <object> yPoint = new List <object>(); yPoint.Add("0"); yPoint.Add(this.TempData["MaxPoint"]); var chartOptions = new EChartsOption() { Title = new Title("当月会员积分变化") { Left = new AlignValue(Align.center) }, Series = new Series[] { new LineSeries() { Name = "当月会员积分变化", Data = seriesData, Smooth = true, MarkPoint = new MarkPoint() { Data = new List <MarkData>() { new MarkData() { Type = MarkPointDataTypes.max, Name = "最大值" }, new MarkData() { Type = MarkPointDataTypes.min, Name = "最小值" }, } }, MarkLine = new MarkLine() { Data = new List <MarkData>() { new MarkData() { Type = MarkPointDataTypes.average, Name = "平均值" } } } } }, XAxis = new XAxis[1] { new XAxis { Type = AxisTypes.category, Data = xAxisData } }, YAxis = new YAxis[1] { new YAxis { Type = AxisTypes.value, Data = yPoint } }, }; return(this.ToEChartResult(chartOptions)); }