UNPKG

jqwidgets-framework

Version:

jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.

93 lines (90 loc) 4.68 kB
<!DOCTYPE html> <html ng-app="demoApp" lang="en"> <head> <title id='Description'>AngularJS Chart Tooltips Formatting Example</title> <meta name="description" content="This is an example of AngularJS Chart. Chart Tooltips are demonstrated." /> <link rel="stylesheet" type="text/css" href="../../../jqwidgets/styles/jqx.base.css" /> <script type="text/javascript" src="../../../scripts/angular.min.js"></script> <script type="text/javascript" src="../../../scripts/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdraw.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxchart.core.js"></script><script type="text/javascript" src="../../../jqwidgets/jqxangular.js"></script> <script type="text/javascript"> var demoApp = angular.module("demoApp", ["jqwidgets"]); demoApp.controller("demoController", function ($scope) { // prepare the data var source = { datatype: "csv", datafields: [ { name: 'Date' }, { name: 'S&P 500' }, { name: 'NASDAQ' } ], url: '../../sampledata/nasdaq_vs_sp500.txt' }; var dataAdapter = new $.jqx.dataAdapter(source, { async: false, autoBind: true, loadError: function (xhr, status, error) { alert('Error loading "' + source.url + '" : ' + error); } }); var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var toolTipCustomFormatFn = function (value, itemIndex, serie, group, categoryValue, categoryAxis) { var dataItem = dataAdapter.records[itemIndex]; return '<DIV style="text-align:left"><b>Date: </b>' + categoryValue.getDate() + '-' + months[categoryValue.getMonth()] + '-' + categoryValue.getFullYear() + '<br /><br /><b>NASDAQ: </b>' + dataAdapter.formatNumber(dataItem['NASDAQ'], 'f') + '<br /><b>S&P 500: </b>' + dataAdapter.formatNumber(dataItem['S&P 500'], 'f') + '</DIV>'; }; // prepare jqxChart settings var settings = { title: "U.S. Stock Market Index Performance (2014)", description: "NASDAQ Composite compared to S&P 500", enableAnimations: true, showLegend: true, enableCrosshairs: true, padding: { left: 10, top: 5, right: 30, bottom: 5 }, titlePadding: { left: 10, top: 0, right: 30, bottom: 10 }, source: dataAdapter, xAxis: { type: 'date', baseUnit: 'month', minValue: '01-01-2014', maxValue: '01-01-2015', dataField: 'Date', valuesOnTicks: true, formatFunction: function (value) { return value.getDate() + '-' + months[value.getMonth()] + '-' + value.getFullYear(); }, gridLines: { visible: true, interval: 3, }, labels: { angle: -45, offset: { x: -20, y: 0 } } }, colorScheme: 'scheme05', seriesGroups: [ { type: 'spline', toolTipFormatFunction: toolTipCustomFormatFn, valueAxis: { title: { text: 'Daily Closing Price<br>' } }, series: [ { dataField: 'S&P 500', displayText: 'S&P 500' }, { dataField: 'NASDAQ', displayText: 'NASDAQ' } ] } ] }; $scope.chartSettings = settings; }); </script> </head> <body ng-controller="demoController"> <jqx-chart id='chartContainer' jqx-settings="chartSettings" style="width: 850px; height: 500px"></jqx-chart> </body> </html>