UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

132 lines (118 loc) 5.84 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Chart Custom Element DateTimeX-AxisRangeSelection</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <meta name="description" content="This is an example of Custom Element Chart range selector." /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.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/jqxchart.rangeselector.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <script> var source = { datatype: 'csv', datafields: [ { name: 'Date' }, { name: 'Open' }, { name: 'High' }, { name: 'Low' }, { name: 'Close' }, { name: 'Volume' }, { name: 'AdjClose' } ], url: '../../sampledata/TSLA_stockprice.csv' }; var dataAdapter = new jqx.dataAdapter(source, { autoBind: true }); 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: ' + categoryValue.getDate() + '-' + months[categoryValue.getMonth()] + '-' + categoryValue.getFullYear() + '</b><br />Open price: $' + dataItem.Open + '</b><br />Close price: $' + dataItem.Close + '</b><br />Daily volume: ' + dataItem.Volume + '</DIV>'; }; JQXElements.settings['chartContainer'] = { title: 'Tesla Motors Stock Price', description: '(June 2019 - March 2018)', enableAnimations: true, animationDuration: 1500, enableCrosshairs: true, padding: { left: 5, top: 5, right: 30, bottom: 5 }, titlePadding: { left: 30, top: 5, right: 0, bottom: 10 }, source: dataAdapter, xAxis: { dataField: 'Date', minValue: new Date(2012, 0, 1), maxValue: new Date(2019, 11, 31), type: 'date', baseUnit: 'day', labels: { formatFunction: function (value) { return value.getDate() + '-' + months[value.getMonth()] + '\'' + value.getFullYear().toString().substring(2); } }, rangeSelector: { size: 80, padding: { /*left: 0, right: 0,*/top: 0, bottom: 0 }, minValue: new Date(2010, 5, 1), backgroundColor: 'white', dataField: 'Close', baseUnit: 'month', gridLines: { visible: false }, serieType: 'area', labels: { formatFunction: function (value) { return months[value.getMonth()] + '\'' + value.getFullYear().toString().substring(2); } } } }, valueAxis: { title: { text: 'Price per share [USD]<br><br>' }, labels: { horizontalAlignment: 'right' } }, colorScheme: 'scheme01', seriesGroups: [ { type: 'line', toolTipFormatFunction: toolTipCustomFormatFn, series: [ { dataField: 'Close', displayText: 'Close Price', lineWidth: 1, lineWidthSelected: 1 } ] } ] }; window.onload = function() { var myChart = document.querySelector('jqx-chart'); myChart.addEventListener('rangeSelectionChanging', function(event) { var args = event.args; args.instance.description = args.minValue.getFullYear() + ' - ' + args.maxValue.getFullYear(); }); }; </script> </head> <body> <div class="example-description"> This is an example of Custom element Chart waterfall series with logarithmic axis. The type of the seriesGroups is waterfall. </div> <div> <jqx-chart settings="chartContainer" style="width:800px; height:500px;"></jqx-chart> </div> </body> </html>