an example graph visualization with processing

23
AN EXAMPLE GRAPH VISUALIZATION WITH PROCESSING.JS Max De Marzi FOSDEM 2012

Upload: max-de-marzi

Post on 10-May-2015

22.476 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: An example graph visualization with processing

AN EXAMPLE GRAPH VISUALIZATION WITH PROCESSING.JSMax De Marzi

FOSDEM 2012

Page 2: An example graph visualization with processing

ABOUT ME

My Blog: http://maxdemarzi.com Find me on Twitter: @maxdemarzi Email me: [email protected] GitHub: http://github.com/maxdemarzi Slides: http://www.slideshare.net/maxdemarzi

Built the Neography GemRuby Rest bindings for Neo4j

Page 3: An example graph visualization with processing

WHAT INFORMATION DID I WANT TO VISUALIZE?

getvouched.com

Page 4: An example graph visualization with processing

ABOUT PROCESSING

Open source programming language and environment for creating images, animations, and interactions.

Java “Like” Made by Ben Fry and Casey Reas in 2001 Home page http://processing.org Checkout http://www.openprocessing.org for

open source examples YouTube Processing 101 playlist:

http://www.youtube.com/user/maxdemarzi/videos?view=pl

Page 5: An example graph visualization with processing

ABOUT PROCESSING.JS

Sister Project to Processing Ported by John Resig (known for jQuery) Written in JavaScript, uses HTML5 Canvas

element instead of Java Applets Home Page: http://processingjs.org Checkout http://sketchpad.cc for open source

examples

Page 6: An example graph visualization with processing

PROCESSING ON CANVAS

Page 7: An example graph visualization with processing

HELLO WORLD IN PROCESSING

Page 8: An example graph visualization with processing
Page 9: An example graph visualization with processing

PROCESSING IS MOUSE-AWARE

Page 10: An example graph visualization with processing
Page 11: An example graph visualization with processing
Page 12: An example graph visualization with processing
Page 13: An example graph visualization with processing
Page 14: An example graph visualization with processing

IF YOU KEEP GOING…

Page 15: An example graph visualization with processing

… AND ADD LINKS BETWEEN NODES

Page 16: An example graph visualization with processing

INCLUDE A SIDE PANEL + SEARCH

Page 17: An example graph visualization with processing

NODE + RELATIONSHIPS IN JSON

Page 18: An example graph visualization with processing

USE CASE

Good for: A dozen or two donut segments (relationship

types) A hundred or so donut slices (50 looks great) Node to node traversals

Not so good for: Supernodes (1000+ relationships) Whole graph navigation

Page 19: An example graph visualization with processing

HOW IS IT BUILT?

Resource Class: Calls fetchData via AJAX Contains Attributes and Values Fills Donut Segments Fills Donut Slices Make up Donut Contains loading animation Calls Donut.draw once loading done

Page 20: An example graph visualization with processing

MORE ABOUT DONUT

Donut Array of Donut Segments Sets Selected Slice Calls Donut Segment.draw

Donut Segment Array of Donut Slices How much space should it take up Calls Slice.draw many times Has Tweens for expanding and contracting

Donut Slice Draws itself Checks to see if it is selected

Page 21: An example graph visualization with processing

BEHIND THE SCENES

Graph Class Array of Nodes Array of Edges

Node Class Knows incoming and outgoing edges Delegates to Resource

Edge Class From node and To node Users co-ordinates of nodes to position itself

Page 22: An example graph visualization with processing

THINGS YOU CAN TWEAK

Color Palette Specific color for Relationships Types Color paths Add support for multiple paths Add properties Add actions Everything, it’s just Javascript.

Page 23: An example graph visualization with processing

SEE MORE VISUALIZATIONS ON MY BLOG

maxdemarzi.com

Thank you!