background preloader

Mbostock.github.com/d3/talk/20111018/tree.html

Mbostock.github.com/d3/talk/20111018/tree.html
Related:  LooseLeaf FrontEnd Lib

D3.js - Data-Driven Documents Data Visualization Libraries Based on D3.JS - Mike McDearmon There are a lot of ways to visualize data on the Web (with more emerging every day), but the flexibility, versatility, and energized development community surrounding D3.js makes it a great option to explore. The following list of D3 plugins, extensions, and applications below is by no means comprehensive, but oughta be enough to keep you busy for a while. If you’re just getting your feet wet with D3.js, here are some great learning resources to get you acclimated:D3 for mere mortals: Great introductory lessons for those starting from scratch.Try D3 Now: Another great resource for learning about core D3 concepts.Data-Driven Documents (paper): An academic article by Mike Bostock with loads of footnotes.Learning D3, Scott Becker: A quick and effective tutorial series to get yourself up and running.Dashing D3: A very thorough tutorial series covering a LOT more than just D3.Interactive Data Visualization for the Web is a fantastic book by Scott Murray.

D3.js Drag and Drop, Zoomable, Panning, Collapsible Tree with auto-sizing. This example pulls together various examples of work with trees in D3.js. The panning functionality can certainly be improved in my opinion and I would be thrilled to see better solutions contributed. One can do all manner of housekeeping or server related calls on the drop event to manage a remote tree dataset for example. Dragging can be performed on any node other than root (flare). Panning can either be done by dragging an empty part of the SVG around or dragging a node towards an edge. Zooming is performed by either double clicking on an empty part of the SVG or by scrolling the mouse-wheel. Expanding and collapsing of nodes is achieved by clicking on the desired node. The tree auto-calculates its sizes both horizontally and vertically so it can adapt between many nodes being present in the view to very few whilst making the view managable and pleasing on the eye. For any help/queries, @robschmuecker or robert.schmuecker at gmail dot com

ignacioola/insights Research | Bitjuice I’m currently studying for a PhD at the Australian Centre for Field Robotics (ACFR), at The University of Sydney. Working with the Marine Robotics team, my area of interest is in the automated interpretation of data that is collected by our Autonomous Underwater Vehicles (AUVs). For some background on why I started the PhD, check out the first post in this blog. Marine Robotics The AUV Sirius, on a field trip off the coast of Freycinet in Tasmania, 2012 Our AUVs regularly perform surveys of the sea floor both in Australia, and around the world. Where does “Data Science” come in? When people think about “robotics”, typically the first things that come to mind are physical systems, moving parts, navigation and control. Interpreting Images This image was painstakingly labelled by a marine scientist, with labels such as “ECK” for Ecklonia Radiata (Kelp). The current practice for users of our AUV data is to manually label image content. Current Research Hierarchical Classification Publications

filter.js – Client side search filtering using JSON and jQuery Speed for search result filtering is critical. Its fine for site users to wait for some time (maybe a few seconds) to load the search results but after that filtering better be fast otherwise people lose interest. To give a simple example of how things are not user friendly is if you go to ebay.com or ebay.in. Its frankly appalling! For every click and every selection, the entire page refreshes. Though its good for showing Ad impressions (which I hate) when browsing an e-commerce site, the usability is lost. On the other hand, have a look at snapdeal.com or groupon.com and it tells a different story. We did client-side search filtering in a couple of portals we built and realized that we should generalize this. Some key features are: Category and sub-category based filteringSlider based filteringTrigger on any HTML element.Date filtering (in process) To use filter.js is simple. There are dependencies on how to render HTML components. Defining the search criteria and the JSON objects Update1

Collapsible Tree index.html# flare.json# JavaScript Garden Although JavaScript deals fine with the syntax of two matching curly braces for blocks, it does not support block scope; hence, all that is left in the language is function scope. function test() { // a scope for(var i = 0; i < 10; i++) { // not a scope // count } console.log(i); // 10} There are also no distinct namespaces in JavaScript, which means that everything gets defined in one globally shared namespace. Each time a variable is referenced, JavaScript will traverse upwards through all the scopes until it finds it. The Bane of Global Variables // script Afoo = '42'; // script Bvar foo = '42' The above two scripts do not have the same effect. Again, that is not at all the same effect: not using var can have major implications. // global scopevar foo = 42;function test() { // local scope foo = 21;}test();foo; // 21 Leaving out the var statement inside the function test will override the value of foo. // global scopevar items = [/* some list */];for(var i = 0; i < 10; i++) { subLoop();}

Anonymous function Anonymous functions originate in the work of Alonzo Church in his invention of the lambda calculus in 1936 (prior to electronic computers), in which all functions are anonymous. In several programming languages, anonymous functions are introduced using the keyword lambda, and anonymous functions are often referred to as lambda functions. Uses[edit] Sorting[edit] When attempting to sort in a non-standard way it may be easier to contain the comparison logic as an anonymous function instead of creating a named function. Consider sorting a list of strings by length of the string: a = ['house', 'car', 'bike'] a.sort(lambda x,y: cmp(len(x), len(y)))print(a)['car', 'bike', 'house'] The anonymous function in this example is the lambda expression: The anonymous function accepts two arguments, x and y, and returns the comparison between them using the built-in function cmp(). a = [10, 'number', 11.2] a.sort(lambda x,y: cmp(x. Closures[edit] def comp(threshold): return lambda x: x < threshold Map[edit]

Application programming interface In computer programming, an application programming interface (API) specifies how some software components should interact with each other. Detailed explanation[edit] API in procedural languages[edit] In most procedural languages, an API specifies a set of functions or routines that accomplish a specific task or are allowed to interact with a specific software component. This specification is presented in a human readable format in paper books, or in electronic formats like ebooks or as man pages. For example, the math API on Unix systems is a specification on how to use the mathematical functions included in the math library. The Unix command man 3 sqrt presents the signature of the function sqrt in the form: SYNOPSIS #include <math.h> double sqrt(double X); float sqrtf(float X); DESCRIPTION sqrt computes the positive square root of the argument. ... $ perldoc -f sqrt sqrt EXPR sqrt #Return the square root of EXPR. API in object-oriented languages[edit] API libraries and frameworks[edit]

Related: