Your search did not match any results.

Charts - Points Aggregation

This demo illustrates the Chart's data aggregation feature using the line, range area, and bar series. The line series shows temperature changes using average, minimum, or maximum temperature values in the selected time interval. The range area series shows the temperature range for the same time interval and uses a custom aggregate function. The bar series illustrates precipitation and is not aggregated.

Backend API
<div id="chart-demo"> @(Html.DevExtreme().Chart() .ID("chart") .Title("Weather in Las Vegas, NV (2017)") .CommonSeriesSettings(s => s.ArgumentField("Date")) .ArgumentAxis(a => { a.ArgumentType(ChartDataType.DateTime); a.AggregationInterval(VizTimeInterval.Week); a.ValueMarginsEnabled(false); }) .ValueAxis(a => { a.Add() .Name("temperature") .Title(t => t.Text("Temperature, °C").Font(f => f.Color("#e91e63"))) .Label(l => l.Font(f => f.Color("#e91e63"))); a.Add() .Name("precipitation") .Position(Position.Right) .Title(t => t.Text("Precipitation, mm").Font(f => f.Color("#03a9f4"))) .Label(l => l.Font(f => f.Color("#03a9f4"))); }) .Legend(l => l.Visible(false)) .Series(s => { s.Add() .Axis("precipitation") .Color("#03a9f4") .Type(SeriesType.Bar) .ValueField("Precip") .Name("Precipitation"); s.Add() .Axis("temperature") .Color("#ffc0bb") .Type(SeriesType.RangeArea) .RangeValue1Field("MinTemp") .RangeValue2Field("MaxTemp") .Aggregation(a => { a.Enabled(true); a.Method(ChartSeriesAggregationMethod.Custom); a.Calculate(@<text> function(aggregationInfo, series) { if(!aggregationInfo.data.length) { return; } var temp = aggregationInfo.data.map(function(item) { return item.Temp; }), maxTemp = Math.max.apply(null, temp), minTemp = Math.min.apply(null, temp); return { Date: new Date((aggregationInfo.intervalStart.valueOf() + aggregationInfo.intervalEnd.valueOf()) / 2), MaxTemp: maxTemp, MinTemp: minTemp }; } </text>); }) .Name("Temperature range"); s.Add() .Axis("temperature") .Color("#e91e63") .ValueField("Temp") .Point(p => p.Size(7)) .Aggregation(a => a.Enabled(true)) .Name("Average temperature"); }) .Tooltip(t => { t.Enabled(true); t.CustomizeTooltip(@<text> function(arg) { return customTooltipHandlers[arg.seriesName](arg, arg.point.aggregationInfo); } </text>); }) .DataSource(d => d.Mvc().LoadAction("GetWeatherIndicators")) ) <div class="options"> <div class="caption">Options</div> <div class="option"> @(Html.DevExtreme().CheckBox() .Text("Aggregation enabled") .Value(true) .OnValueChanged(@<text> function(data) { var chart = $("#chart").dxChart("instance"); chart.option("series[1].aggregation.enabled", data.value); chart.option("series[2].aggregation.enabled", data.value); } </text>) ) </div> <div class="option"> <span>Interval:</span> @(Html.DevExtreme().SelectBox() .DataSource(new JS("intervals")) .Value(VizTimeInterval.Week) .ValueExpr("Interval") .InputAttr("aria-label", "Interval") .DisplayExpr("DisplayName") .OnValueChanged(@<text> function (data) { $("#chart").dxChart("instance").option("argumentAxis.aggregationInterval", data.value); } </text>) ) </div> <div class="option"> <span>Method:</span> @(Html.DevExtreme().SelectBox() .DataSource(new[] { new { DisplayName = "Average", Func = "avg" }, new { DisplayName = "Minimum", Func = "min" }, new { DisplayName = "Maximum", Func = "max" } }) .Value(ChartSeriesAggregationMethod.Avg) .ValueExpr("Func") .InputAttr("aria-label", "Function") .DisplayExpr("DisplayName") .OnValueChanged(@<text> function (data) { $("#chart").dxChart("instance").option("series[2].aggregation.method", data.value); } </text>) ) </div> </div> </div> <script> var intervals = [{ DisplayName: "One week", Interval: "week" }, { DisplayName: "Two weeks", Interval: { weeks: 2 } }, { DisplayName: "Month", Interval: "month" }]; var customTooltipHandlers = { "Average temperature": function (arg, aggregationInfo) { var start = aggregationInfo && aggregationInfo.intervalStart, end = aggregationInfo && aggregationInfo.intervalEnd; return { text: (!aggregationInfo ? "Date: " + arg.argument.toDateString() : "Interval: " + start.toDateString() + " - " + end.toDateString()) + "<br/>Temperature: " + arg.value.toFixed(2) + " °C" }; }, "Temperature range": function (arg, aggregationInfo) { var start = aggregationInfo.intervalStart, end = aggregationInfo.intervalEnd; return { text: "Interval: " + start.toDateString() + " - " + end.toDateString() + "<br/>Temperature range: " + arg.rangeValue1 + " - " + arg.rangeValue2 + " °C" }; }, "Precipitation": function (arg) { return { text: "Date: " + arg.argument.toDateString() + "<br/>Precipitation: " + arg.valueText + " mm" }; } }; </script>
using DevExtreme.AspNet.Data; using DevExtreme.AspNet.Mvc; using DevExtreme.MVC.Demos.Models.SampleData; using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Web.Mvc; namespace DevExtreme.MVC.Demos.Controllers { public class ChartsController : Controller { public ActionResult PointsAggregation() { return View(); } [HttpGet] public ActionResult GetWeatherIndicators(DataSourceLoadOptions loadOptions) { return Content(JsonSerializer.Serialize(SampleData.WeatherIndicators), "application/json"); } } }
using System; namespace DevExtreme.MVC.Demos.Models { public class WeatherIndicator { public DateTime Date { get; set; } public double Temp { get; set; } public double Precip { get; set; } } }
using System; using System.Collections.Generic; namespace DevExtreme.MVC.Demos.Models.SampleData { public partial class SampleData { public static readonly IEnumerable<WeatherIndicator> WeatherIndicators = new[] { new WeatherIndicator { Date = DateTime.Parse("2017-01-01"), Temp = 9.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-02"), Temp = 8, Precip = 0.4 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-03"), Temp = 7.5, Precip = 0.2 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-04"), Temp = 8.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-05"), Temp = 10, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-06"), Temp = 3, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-07"), Temp = 5, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-08"), Temp = 9.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-09"), Temp = 11, Precip = 0.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-10"), Temp = 8, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-11"), Temp = 11.5, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-12"), Temp = 9.5, Precip = 2.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-13"), Temp = 11.5, Precip = 3.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-14"), Temp = 11, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-15"), Temp = 10.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-16"), Temp = 6.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-17"), Temp = 7.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-18"), Temp = 8, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-19"), Temp = 8.5, Precip = 1.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-20"), Temp = 5.5, Precip = 5.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-21"), Temp = 9, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-22"), Temp = 6, Precip = 16.6 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-23"), Temp = 8.5, Precip = 5.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-24"), Temp = 6.5, Precip = 1.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-25"), Temp = 4.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-26"), Temp = 5.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-27"), Temp = 3, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-28"), Temp = 6.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-29"), Temp = 8, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-30"), Temp = 10.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-01-31"), Temp = 13, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-01"), Temp = 10.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-02"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-03"), Temp = 13, Precip = 0.2 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-04"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-05"), Temp = 11.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-06"), Temp = 11.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-07"), Temp = 12.5, Precip = 0.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-08"), Temp = 13, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-09"), Temp = 15.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-10"), Temp = 16.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-11"), Temp = 14.5, Precip = 0.8 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-12"), Temp = 13.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-13"), Temp = 13.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-14"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-15"), Temp = 13.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-16"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-17"), Temp = 12.5, Precip = 4.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-18"), Temp = 10, Precip = 14.4 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-19"), Temp = 13.5, Precip = 0.5 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-20"), Temp = 14, Precip = 0.6 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-21"), Temp = 15, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-22"), Temp = 11, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-23"), Temp = 7.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-24"), Temp = 6, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-25"), Temp = 7, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-26"), Temp = 8, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-27"), Temp = 8.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-02-28"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-01"), Temp = 9, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-02"), Temp = 11, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-03"), Temp = 15, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-04"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-05"), Temp = 12.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-06"), Temp = 7.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-07"), Temp = 11, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-08"), Temp = 16, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-09"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-10"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-11"), Temp = 20.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-12"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-13"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-14"), Temp = 23.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-15"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-16"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-17"), Temp = 22.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-18"), Temp = 23.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-19"), Temp = 24, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-20"), Temp = 23.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-21"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-22"), Temp = 18.5, Precip = 4 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-23"), Temp = 15, Precip = 2.4 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-24"), Temp = 20.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-25"), Temp = 19, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-26"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-27"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-28"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-29"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-30"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-03-31"), Temp = 16.5, Precip = 0.2 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-01"), Temp = 19, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-02"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-03"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-04"), Temp = 16.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-05"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-06"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-07"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-08"), Temp = 19, Precip = 0.2 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-09"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-10"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-11"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-12"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-13"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-14"), Temp = 19, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-15"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-16"), Temp = 22.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-17"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-18"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-19"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-20"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-21"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-22"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-23"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-24"), Temp = 25, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-25"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-26"), Temp = 23.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-27"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-28"), Temp = 19, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-29"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-04-30"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-01"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-02"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-03"), Temp = 25.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-04"), Temp = 28, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-05"), Temp = 28.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-06"), Temp = 27, Precip = 0.4 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-07"), Temp = 17, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-08"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-09"), Temp = 20, Precip = 1.7 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-10"), Temp = 19.5, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-11"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-12"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-13"), Temp = 22.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-14"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-15"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-16"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-17"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-18"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-19"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-20"), Temp = 24, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-21"), Temp = 27.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-22"), Temp = 29, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-23"), Temp = 30.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-24"), Temp = 31, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-25"), Temp = 29.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-26"), Temp = 27, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-27"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-28"), Temp = 29, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-29"), Temp = 30.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-30"), Temp = 31.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-05-31"), Temp = 29.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-01"), Temp = 28, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-02"), Temp = 30, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-03"), Temp = 32.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-04"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-05"), Temp = 31.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-06"), Temp = 33, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-07"), Temp = 32.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-08"), Temp = 31.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-09"), Temp = 31.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-10"), Temp = 29, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-11"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-12"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-13"), Temp = 25, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-14"), Temp = 30.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-15"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-16"), Temp = 34.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-17"), Temp = 36, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-18"), Temp = 36, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-19"), Temp = 37.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-20"), Temp = 39, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-21"), Temp = 38, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-22"), Temp = 37.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-23"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-24"), Temp = 37.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-25"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-26"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-27"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-28"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-29"), Temp = 37.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-06-30"), Temp = 35, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-01"), Temp = 37.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-02"), Temp = 35.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-03"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-04"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-05"), Temp = 39, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-06"), Temp = 39.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-07"), Temp = 40, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-08"), Temp = 39, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-09"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-10"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-11"), Temp = 36.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-12"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-13"), Temp = 38, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-14"), Temp = 39.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-15"), Temp = 40, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-16"), Temp = 38.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-17"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-18"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-19"), Temp = 34, Precip = 0.4 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-20"), Temp = 34.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-21"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-22"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-23"), Temp = 38, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-24"), Temp = 34, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-25"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-26"), Temp = 33.5, Precip = 0.2 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-27"), Temp = 36, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-28"), Temp = 38, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-29"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-30"), Temp = 37.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-07-31"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-01"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-02"), Temp = 35.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-03"), Temp = 33.5, Precip = 0.9 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-04"), Temp = 32, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-05"), Temp = 33.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-06"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-07"), Temp = 33.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-08"), Temp = 35.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-09"), Temp = 36, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-10"), Temp = 35.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-11"), Temp = 35, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-12"), Temp = 35.5, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-13"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-14"), Temp = 32.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-15"), Temp = 30, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-16"), Temp = 31, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-17"), Temp = 33.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-18"), Temp = 34.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-19"), Temp = 34, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-20"), Temp = 33, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-21"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-22"), Temp = 32.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-23"), Temp = 33, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-24"), Temp = 33, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-25"), Temp = 33.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-26"), Temp = 36, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-27"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-28"), Temp = 37, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-29"), Temp = 36.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-30"), Temp = 36, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-08-31"), Temp = 33.5, Precip = 0.3 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-01"), Temp = 33.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-02"), Temp = 34.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-03"), Temp = 34, Precip = 0.1 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-04"), Temp = 29.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-05"), Temp = 33, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-06"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-07"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-08"), Temp = 28, Precip = 1.7 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-09"), Temp = 23, Precip = 7.6 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-10"), Temp = 29, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-11"), Temp = 32, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-12"), Temp = 31, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-13"), Temp = 30.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-14"), Temp = 26, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-15"), Temp = 23.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-16"), Temp = 24.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-17"), Temp = 25, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-18"), Temp = 26.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-19"), Temp = 24.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-20"), Temp = 24.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-21"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-22"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-23"), Temp = 15.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-24"), Temp = 17.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-25"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-26"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-27"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-28"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-29"), Temp = 24, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-09-30"), Temp = 25, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-01"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-02"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-03"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-04"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-05"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-06"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-07"), Temp = 23, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-08"), Temp = 24, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-09"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-10"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-11"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-12"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-13"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-14"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-15"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-16"), Temp = 20.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-17"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-18"), Temp = 21.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-19"), Temp = 22.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-20"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-21"), Temp = 15, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-22"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-23"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-24"), Temp = 20.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-25"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-26"), Temp = 22, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-27"), Temp = 20, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-28"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-29"), Temp = 21, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-30"), Temp = 19.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-10-31"), Temp = 17.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-01"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-02"), Temp = 15, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-03"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-04"), Temp = 16.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-05"), Temp = 12.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-06"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-07"), Temp = 14, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-08"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-09"), Temp = 16.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-10"), Temp = 16, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-11"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-12"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-13"), Temp = 16.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-14"), Temp = 14.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-15"), Temp = 16.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-16"), Temp = 15, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-17"), Temp = 17, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-18"), Temp = 8.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-19"), Temp = 11, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-20"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-21"), Temp = 15.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-22"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-23"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-24"), Temp = 18, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-25"), Temp = 18.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-26"), Temp = 17.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-27"), Temp = 13, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-28"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-29"), Temp = 12.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-11-30"), Temp = 11.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-01"), Temp = 14, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-02"), Temp = 13.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-03"), Temp = 13.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-04"), Temp = 4.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-05"), Temp = 5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-06"), Temp = 7, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-07"), Temp = 6.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-08"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-09"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-10"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-11"), Temp = 10.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-12"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-13"), Temp = 12.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-14"), Temp = 9, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-15"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-16"), Temp = 8, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-17"), Temp = 6, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-18"), Temp = 7.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-19"), Temp = 9.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-20"), Temp = 8.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-21"), Temp = 3, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-22"), Temp = 4, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-23"), Temp = 6, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-24"), Temp = 8, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-25"), Temp = 10, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-26"), Temp = 11, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-27"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-28"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-29"), Temp = 13.5, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-30"), Temp = 12, Precip = 0 }, new WeatherIndicator { Date = DateTime.Parse("2017-12-31"), Temp = 11, Precip = 0 } }; } }
#chart-demo { height: 700px; width: 100%; } #chart { height: 500px; margin: 0 0 15px; } .options { padding: 20px; margin-top: 20px; background-color: rgba(191, 191, 191, 0.15); } .caption { font-size: 18px; font-weight: 500; } .option { margin-top: 10px; } .option > span { width: 50px; display: inline-block; margin-right: 10px; } .option > .dx-selectbox { display: inline-block; vertical-align: middle; }