The given example shows populating and parsing data using JSON data API. It also includes ASP.NET MVC code that you can try running locally.
@{ Layout = null; } <!DOCTYPE HTML> <html> <head> <script> window.onload = function () { var dataPoints = []; var chart = new CanvasJS.Chart("chartContainer", { animationEnabled: true, theme: "light2", title: { text: "Lenovo Group Stock Price-2017" }, axisY: { title: "In HK$", titleFontSize: 24 }, data: [{ type: "line", yValueFormatString: "HK$#,###", dataPoints: dataPoints }] }); function addData(data) { for (var i = 0; i < data.length; i++) { dataPoints.push({ x: new Date(data[i].x), y: data[i].y }); } chart.render(); } $.getJSON("/home/json", addData); } </script> </head> <body> <div id="chartContainer" style="height: 370px; width: 100%;"></div> <script src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script> <script src="https://cdn.canvasjs.com/jquery.canvasjs.min.js"></script> </body> </html>
using ASPNET_MVC_ChartsDemo.Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Web; using System.Web.Mvc; namespace ASPNET_MVC_ChartsDemo.Controllers { public class HomeController : Controller { // GET: Home public ActionResult Index() { return View(); } public ContentResult JSON() { List<DataPoint> dataPoints = new List<DataPoint>(); dataPoints.Add(new DataPoint(1481999400000, 4.67)); dataPoints.Add(new DataPoint(1482604200000, 4.7)); dataPoints.Add(new DataPoint(1483209000000, 4.96)); dataPoints.Add(new DataPoint(1483813800000, 5.12)); dataPoints.Add(new DataPoint(1484418600000, 5.08)); dataPoints.Add(new DataPoint(1485023400000, 5.11)); dataPoints.Add(new DataPoint(1485628200000, 5)); dataPoints.Add(new DataPoint(1486233000000, 5.2)); dataPoints.Add(new DataPoint(1486837800000, 4.7)); dataPoints.Add(new DataPoint(1487442600000, 4.74)); dataPoints.Add(new DataPoint(1488047400000, 4.67)); dataPoints.Add(new DataPoint(1488652200000, 4.66)); dataPoints.Add(new DataPoint(1489257000000, 4.86)); dataPoints.Add(new DataPoint(1489861800000, 4.91)); dataPoints.Add(new DataPoint(1490466600000, 5.12)); dataPoints.Add(new DataPoint(1491071400000, 5.4)); dataPoints.Add(new DataPoint(1491676200000, 5.08)); dataPoints.Add(new DataPoint(1492281000000, 5.05)); dataPoints.Add(new DataPoint(1492885800000, 4.98)); dataPoints.Add(new DataPoint(1493490600000, 4.89)); dataPoints.Add(new DataPoint(1494095400000, 4.9)); dataPoints.Add(new DataPoint(1494700200000, 4.95)); dataPoints.Add(new DataPoint(1495305000000, 4.88)); dataPoints.Add(new DataPoint(1495909800000, 5.07)); dataPoints.Add(new DataPoint(1496514600000, 5.14)); dataPoints.Add(new DataPoint(1497119400000, 5.05)); dataPoints.Add(new DataPoint(1497724200000, 5.03)); dataPoints.Add(new DataPoint(1498329000000, 4.93)); dataPoints.Add(new DataPoint(1498933800000, 4.97)); dataPoints.Add(new DataPoint(1499538600000, 4.86)); dataPoints.Add(new DataPoint(1500143400000, 4.95)); dataPoints.Add(new DataPoint(1500748200000, 4.83)); dataPoints.Add(new DataPoint(1501353000000, 4.83)); dataPoints.Add(new DataPoint(1501957800000, 4.73)); dataPoints.Add(new DataPoint(1502562600000, 4.56)); dataPoints.Add(new DataPoint(1503167400000, 4.34)); dataPoints.Add(new DataPoint(1503772200000, 4.25)); dataPoints.Add(new DataPoint(1504377000000, 4.18)); dataPoints.Add(new DataPoint(1504981800000, 4.22)); dataPoints.Add(new DataPoint(1505586600000, 4.18)); dataPoints.Add(new DataPoint(1506191400000, 4.31)); dataPoints.Add(new DataPoint(1506796200000, 4.34)); dataPoints.Add(new DataPoint(1507401000000, 4.47)); dataPoints.Add(new DataPoint(1508005800000, 4.57)); dataPoints.Add(new DataPoint(1508610600000, 4.63)); dataPoints.Add(new DataPoint(1509215400000, 4.55)); dataPoints.Add(new DataPoint(1509820200000, 4.55)); dataPoints.Add(new DataPoint(1510425000000, 4.44)); dataPoints.Add(new DataPoint(1511029800000, 4.46)); dataPoints.Add(new DataPoint(1511634600000, 4.41)); dataPoints.Add(new DataPoint(1512239400000, 4.3)); dataPoints.Add(new DataPoint(1512844200000, 4.31)); dataPoints.Add(new DataPoint(1513449000000, 4.3)); dataPoints.Add(new DataPoint(1513621800000, 4.36)); JsonSerializerSettings _jsonSetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }; return Content(JsonConvert.SerializeObject(dataPoints, _jsonSetting), "application/json"); } } }
using System; using System.Runtime.Serialization; namespace ASPNET_MVC_ChartsDemo.Models { //DataContract for Serializing Data - required to serve in JSON format [DataContract] public class DataPoint { public DataPoint(double x, double y) { this.X = x; this.Y = y; } //Explicitly setting the name to be used while serializing to JSON. [DataMember(Name = "x")] public Nullable<double> X = null; //Explicitly setting the name to be used while serializing to JSON. [DataMember(Name = "y")] public Nullable<double> Y = null; } }
lineThickness, lineColor, lineDashType properties can be used to change the thickness, color and the dash-type of the line. Some other commonly used customization options include markerType, markerSize, etc.
Note For step by step instructions, follow our ASP.NET MVC Integration Tutorial