Web-based interactive graph visualization

Graphs are powerful tools to convey the relationships between objects. It has a natural visual representation as nodes and connecting links arranged in space. Software that automates graph visualization, editing and analysis will save considerable cognitive efforts for graph study [1]. However, cur...

Full description

Saved in:
Bibliographic Details
Main Author: Liu, Zhanqi
Other Authors: Ke Yiping, Kelly
Format: Final Year Project
Language:English
Published: 2016
Subjects:
Online Access:http://hdl.handle.net/10356/66754
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Graphs are powerful tools to convey the relationships between objects. It has a natural visual representation as nodes and connecting links arranged in space. Software that automates graph visualization, editing and analysis will save considerable cognitive efforts for graph study [1]. However, current open-source tools only provide a limited set of functionalities. To resolve this limitation, Grapher is created to enhance the experience for web-based graph visualization, editing, and analysis. To enable an enjoyable graph visualization experience, Grapher has a simple user interface with rich user interaction and dynamic visualization features. Besides describing the graph content in a JSON text format, it also supports visual editing, allowing the user to modify the graph structure and attributes in an intuitive way. Moreover, several graph comparison algorithms are implemented to help the user to gain insights into the graph data. Two graphs can be compared side by side, with their similarity and difference highlighted. Grapher is a Node.js application using Express.js Framework. Graph comparison algorithms are implemented in Python. It makes use of Neo4j Graph Database for persistent storage. This report is a comprehensive documentation of Project Grapher. We start with the motivation and objectives of this project followed by a discussion on the limitation of similar applications and a survey of graph visualization technologies. The following chapters documents the software development lifecycle of Grapher, including Requirement Specification, Project Planning, Design, Implementation, and Testing. Finally, yet importantly, we will conclude the report and discuss the future improvement of Grapher.