Book Image

Interactive Visualization and Plotting with Julia

By : Diego Javier Zea
Book Image

Interactive Visualization and Plotting with Julia

By: Diego Javier Zea

Overview of this book

The Julia programming language offers a fresh perspective into the data visualization field. Interactive Visualization and Plotting with Julia begins by introducing the Julia language and the Plots package. The book then gives a quick overview of the Julia plotting ecosystem to help you choose the best library for your task. In particular, you will discover the many ways to create interactive visualizations with its packages. You’ll also leverage Pluto notebooks to gain interactivity and use them intensively through this book. You’ll find out how to create animations, a handy skill for communication and teaching. Then, the book shows how to solve data analysis problems using DataFrames and various plotting packages based on the grammar of graphics. Furthermore, you’ll discover how to create the most common statistical plots for data exploration. Also, you’ll learn to visualize geographically distributed data, graphs and networks, and biological data. Lastly, this book will go deeper into plot customizations with Plots, Makie, and Gadfly—focusing on the former—teaching you to create plot themes, arrange multiple plots into a single figure, and build new plot types. By the end of this Julia book, you’ll be able to create interactive and publication-quality static plots for data analysis and exploration tasks using Julia.
Table of Contents (19 chapters)
1
Section 1 – Getting Started
6
Section 2 – Advanced Plot Types
12
Section 3 – Mastering Plot Customization

Graph layouts

Graph layout algorithms determine the location of nodes and edges to create a readable visual representation of the graph. Readable graphs usually have few links crossing, large angles between the crossing links, and few node superpositions. When using the gplot function from GraphPlot, or the graphplot function from GraphRecipes and GraphMakie, we can select different graph layout algorithms or directly input the nodes and edge positions. In this section, we will explore both options. We will also introduce the NetworkLayout package as it implements several graph layout algorithms that we can use with the three libraries mentioned earlier.

Setting node positions can help us use external layout methods. It can also help when working with networks whose nodes have a known spatial location; for example, think of a subway network. However, note that using spatial locations can lead to graphs that can’t be read easily. To set the node’s exact location using...