We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi,
I don't know too much about Angular-nvd3 nor Javascript but I managed to do a basic line chart using this example as the basic code:
https://github.com/krispo/angular-nvd3/blob/gh-pages/js/lineChart.js
I want to update (don't want to refresh) the chart every second for 10 seconds but the only dot plotted is the last one:
I don't know why the previous points aren't plotted and I can't use a
$scope.api.update();
after the
$scope.data = dataGen(genHHMMSS);
because I get the following error:
TypeError: Cannot read property 'update' of undefined
Could anyone help me?
Thanks a lot
HTML:
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf-8"> <!-- it's important for d3.js --> <script src="C:/..../AppData/Roaming/npm/node_modules/angular/angular.js"></script> <script src="C:/..../AppData/Roaming/npm/node_modules/d3/dist/d3.js"></script> <script src="C:/..../AppData/Roaming/npm/node_modules/nvd3/build/nv.d3.js"></script> <!-- or use another assembly --> <script src="C:/..../AppData/Roaming/npm/node_modules/angular-nvd3/dist/angular-nvd3.js"></script> <link rel="stylesheet" href="C:/..../AppData/Roaming/npm/node_modules/nvd3/build/nv.d3.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.5/nv.d3.min.js"></script> </head> <body ng-controller="lineChartController"> <nvd3 options="options" data="data" config="config" events="events" api="api" on-ready="callback"></nvd3> <script src="C:/..../graph_update.js"></script> </body> </html>
JavaScript:
'use strict'; var app = angular.module('app', ['nvd3']); app.controller('lineChartController', function($scope){ $scope.config = { visible: true, // default: true extended: false, // default: false disabled: false, // default: false refreshDataOnly: true, // default: true deepWatchOptions: true, // default: true deepWatchData: true, // default: true deepWatchDataDepth: 2, // default: 2 debounce: 10 // default: 10 }; $scope.options = { chart: { type: 'lineChart', height: 450, margin : { top: 20, right: 20, bottom: 40, left: 55 }, x: function(d){ return d.x; }, y: function(d){ return d.y; }, useInteractiveGuideline: true, dispatch: { stateChange: function(e){ console.log("stateChange"); }, changeState: function(e){ console.log("changeState"); }, tooltipShow: function(e){ console.log("tooltipShow"); }, tooltipHide: function(e){ console.log("tooltipHide"); } }, xAxis: { axisLabel: 'Time (ms)' }, yAxis: { axisLabel: 'Voltage (v)', tickFormat: function(d){ return d3.format('.02f')(d); }, axisLabelDistance: -10 }, callback: function(chart){ console.log("!!! lineChart callback !!!"); } }, title: { enable: true, text: 'Title for Line Chart' }, subtitle: { enable: true, text: 'Subtitle for simple line chart. Lorem ipsum dolor sit amet, at eam blandit sadipscing, vim adhuc sanctus disputando ex, cu usu affert alienum urbanitas.', css: { 'text-align': 'center', 'margin': '10px 13px 0px 7px' } }, caption: { enable: true, html: '<b>Figure 1.</b> Lorem ipsum dolor sit amet, at eam blandit sadipscing, <span style="text-decoration: underline;">vim adhuc sanctus disputando ex</span>, cu usu affert alienum urbanitas. <i>Cum in purto erat, mea ne nominavi persecuti reformidans.</i> Docendi blandit abhorreant ea has, minim tantas alterum pro eu. <span style="color: darkred;">Exerci graeci ad vix, elit tacimates ea duo</span>. Id mel eruditi fuisset. Stet vidit patrioque in pro, eum ex veri verterem abhorreant, id unum oportere intellegam nec<sup>[1, <a href="https://github.com/krispo/angular-nvd3" target="_blank">2</a>, 3]</sup>.', css: { 'text-align': 'justify', 'margin': '10px 13px 0px 7px' } } }; for (var i = 0; i < 10; i++) { var genDate = Date(); var genHHMMSS = genDate.substring(16,18)+genDate.substring(19,21)+genDate.substring(22,24); console.log(genHHMMSS); $scope.data = dataGen(genHHMMSS); //$scope.api.update(); do { var curDate = Date(); var curHHMMSS = curDate.substring(16,18)+curDate.substring(19,21)+curDate.substring(22,24); } while(genDate == curDate); }; /*Random Data Generator */ function dataGen(x_time) { var point = []; //Data is represented as an array of {x,y} pairs. point.push({x: x_time, y: Math.random()}); //Line chart data should be sent as an array of series objects. return [ { values: point, //values - represents the array of {x,y} data points key: 'Sine Wave', //key - the name of the series. color: '#ff7f0e' //color - optional: choose your own line color. } ]; }; })
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hi,
I don't know too much about Angular-nvd3 nor Javascript but I managed to do a basic line chart using this example as the basic code:
https://github.com/krispo/angular-nvd3/blob/gh-pages/js/lineChart.js
I want to update (don't want to refresh) the chart every second for 10 seconds but the only dot plotted is the last one:
I don't know why the previous points aren't plotted and I can't use a
after the
because I get the following error:
TypeError: Cannot read property 'update' of undefined
Could anyone help me?
Thanks a lot
HTML:
JavaScript:
The text was updated successfully, but these errors were encountered: