Angularjs – Update real time d3 chart by socket.io – Stack Overflow what is the purpose of bitcoin

I am writing a d3.Js-based real time chart directive. The structure looks like this:

MyDirective.Js: app.Directive(‘mydirective’, function(socketio) {

Return {

Restrict: ‘EA’,

TemplateUrl: ‘../../views/partials/chart.Html’,

Controller: datacontroller,

Link: function(scope, elem, attrs, ctrl) {

Scope.Watch = scope.$watch(function() {

Return ctrl.Data;

}, function(newval) {

// d3 code part

});

Socketio.On(event, function(newdata) {

Ctrl.Data.Push(newdata);

// redraw chart

});

}

};

});

In the above d3 code part, I refer to http://bl.Ocks.Org/gniemetz/4618602. The main code is almost the same and the chart is displayed well.

Now I want to use socket.Io to update the chart via code socketio.On(event, function(newdata) {

Ctrl.Data.Push(newdata);

// redraw chart

});

But do not know how to redraw the chart efficiently with the updated ‘ctrl.Data’.What is the purpose of bitcoin

I know in morris.Js, we could do this by ‘.SetData(ctrl.Data)’ method, but do not know how to update in d3. Any idea?

Ps: I tried to copy/paste the d3 code above to this place, but there was always an error said: typeerror: t.Slice is not a function

Thanks,

The quick and dirty way: every time you have an update, empty the and redraw the entire graph.

The more elegant way: write your own update function to add new data. This is by far the most visually appealing way, since the graph will actually be animated. D3 is well built for this sort of thing, so its by no means a stretch of its capabilities. This will take a bit longer, but usually provides a much more pleasing experience, as seen on some of the graphs in D3’s gallery (examples: http://square.Github.Io/crossfilter/ , http://bl.Ocks.Org/npashap/96447623ef4d342ee09b) here’s how I would do it using your desired graph:

what is the purpose of bitcoin

• keep your code the same

• add an update function, say named update(), that’s called in the socketio.On(…) section where you commented // redraw chart

• update() will then redefine all D3 variables and animate the change

Update() will essentially do the above bullet by performing a subset of the steps used in creating the graph from scratch. Here’s an overview of what it’ll do: rescale both the x and y axes, graphically update the axes, translate the original points and lines to their new positions on new axes, add new points, and add any lines it may need to complete the graph

I’m working on a jsfiddle for you with a working update to demo the above and, hopefully, implementing it in your code will be simple. I’ll edit this post when its done, but I wanted to give you the quick answer while I work on it in an attempt to help you meanwhile.What is the purpose of bitcoin if you want some reading meanwhile, check out

Http://blog.Visual.Ly/creating-animations-and-transitions-with-d3-js/

UPDATE

Https://jsfiddle.Net/npzjlng9/2/. I took the example you provided and had to modify the data to be loaded to be local, not from a text file; however, it is in the same format, and also a lot less entries for readability. Other than that, I did not make any changes to the example. Here’s what I added: scroll down and find the last function, update. Here is where the update and animation happens. Notice the flow of the function:

• update the data as if your socket.Io was the one who received it and then appended it to the dataset.

• redefine the axes

• redefine the points and paths

• specify a transition duration (feel free to play with whatever number suits you)

• actually update and animate changes on the plot

what is the purpose of bitcoin

I added a button to simulate a socket.Io receiving event.

For your application, ignore the data.Push and console.Log in the update() function and I think that’s all you’d need — other than pointing the data to your ctrl.Data array and running the update() function in your socketio.On(…), of course.

The same basic outline applies to animating/updating most graphs.

I hope this helps you!

Stack exchange

Network

• technology

• life / arts

• culture / recreation

• science

• other

• stack overflow

• server fault

• super user

• web applications

• ask ubuntu

• webmasters

• game development

• tex – latex

• software engineering

• unix linux

• ask different (apple)

• wordpress development

• geographic information systems

• electrical engineering

• android enthusiasts

• information security

• database administrators

• drupal answers

what is the purpose of bitcoin

• sharepoint

• user experience

• mathematica

• salesforce

• expressionengine® answers

• stack overflow em português

• blender

• network engineering

• cryptography

• code review

• magento

• software recommendations

• signal processing

• emacs

• raspberry pi

• stack overflow на русском

• programming puzzles code golf

• stack overflow en español

• ethereum

• data science

• arduino

• bitcoin

More (28)

• photography

• science fiction fantasy

• graphic design

• movies TV

• music: practice theory

• worldbuilding

• seasoned advice (cooking)

• home improvement

• personal finance money

• academia

• law

More (16)

• english language usage

• skeptics

• mi yodeya (judaism)

• travel

• christianity

• english language learners

• japanese language

• arqade (gaming)

• bicycles

• role-playing games

• anime manga

• puzzling

• motor vehicle maintenance repair

what is the purpose of bitcoin

More (32)

• mathoverflow

• mathematics

• cross validated (stats)

• theoretical computer science

• physics

• chemistry

• biology

• computer science

• philosophy

More (10)

• meta stack exchange

• stack apps

• API

• data

• area 51