Developer Guides Getting Started Intro to Graph What is a Graph Database? Concepts: RDBMS to Graph Concepts: NoSQL to Graph Getting Started Resources Neo4j Graph Platform Graph Platform Overview Neo4j Desktop Intro Neo4j Browser Intro Neo4j ETL Tool Neo4j APOC… Read more →
Other Types of Graph Visualization
Not all graph visualizations represent data in circles and lines for nodes and relationships. Users may want to view data in various chart-based, map-based, or 3D formats. There are tools available for these types of visualizations with Neo4j, as well, which we will cover in more detail throughout this guide.
Viewing data in familiar chart formats such as bar charts, histograms, pie charts, dials, meters and other representations might be preferred for various users and business needs. There are tools that support these types of charts for metrics and dashboarding.
There are several open source tools available, but we will mention a few with links that we have used before. Feel free to explore others!
- Blog post: Charting Neo4j
- Blog post: Neo4j Spatial with Nivo charts
Tableau is a data analysis tool that can take data from a variety of sources and blend or split the data based on user specification. You can set up a connection from Tableau to Neo4j using the web data connector integration project for the two technologies on GitHub. With this project, you can specify up to 5 Cypher queries to pull data from Neo4j and import to Tableau (which converts the data to tables).
Once the data is in Tableau, the user can interact with a drag-and-drop Tableau GUI to aggregate, splice, and style various combinations of the data into colorized visualizations in countless formats.
Graph data is an excellent fit for mapping and representing geographic data, as it is laid out by entities and connections (locations/points and routes to get to those locations). Neo4j can help plot latitude and longitude, polygon geometries, routes, as well as distances, so a tool to overlay a map visualization on the front-end of this data provides a great deal of value for interacting and exploring an area.
Commercial tools by Tom Sawyer and Keylines both also support this type of visualization.
Leaflet.js is an open source library that allows us to create multiple layers and show/hide various layers. It is designed to be interactive and function on mobile phones, as well as traditional devices. You can extend functionality with a variety of plugins, including Mapbox. With these tools, you can create a base map layer (such as map tiles) and data visualizations live in map layers that are plotted on top of the map tiles. Mapbox also gives you the capability to add an interactive map.
- Leaflet.js website: Leaflet.js
- Blog post: Leaflet.js to visualize Paradise Papers data
- Blog post: Using Leaflet.js and Mapbox to visualize spatial data in Neo4j
- Example source code: Leaflet/Mapbox spatial Neo4j
- Example source code: Leaflet/Mapbox interactive map
- Video: GraphConnect spatial Neo4j with Leaflet/Mapbox
A heatmap is a data visualization where colors are used to represent data values. It is often imposed on a map, but could also be on a matrix as well. When heatmaps are used on a map, pockets of activity may be spread out, so some form of interpolation is often used.
We will list the tool(s) we have encountered so far, but we will add to this as we interact with more.
- Blog post: Leaflet.js heatcanvas plugin
Adding a third dimension may increase some complexity in the visualization, but also adds value. Exploring your data in 3D can help navigate through large amounts of data better and more clearly. Clustering should also be more apparent in a 3D visualization because data can be more spread out when using the third dimension, where 2D can cause groups to overlap or display more closely.
Kineviz (commercial tool) also supports this type of visualization.
With this open source library, there are a couple of different components for handling the physics behind three dimensions and for actually rendering the visualization. It uses an iterative approach for rendering in 3D and creates stunning, interactive visualizations. The tool includes features for customizing styles of nodes and relationships, as well as container layouts, rendering controls, configuring simulation, and user interaction. The data structure required is similar to previous tools we have seen, with collections for nodes and relationships. 3d-force-graph also offers functionality for visualizations to use with virtual reality.
There are still other tools for visualization that may not necessarily fit into the categories we have discussed so far. Instead, they expand the current boundaries and find uniquely powerful ways to utilize graph technologies. Thinking outside the box increases the possibilities of graph even further!
Graphileon is a platform for building graphy applications by composing functions and UI elements. It can be harnessed by users such as consultants and designers for styling and dashboards. Developers can also integrate with other technologies to customize applications, embed views, or extend functionality.