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

Introducing the Grammar of Interactive Graphics with VegaLite

Vega-Lite is a JavaScript library that extended the Grammar of Graphics to a Grammar of Interactive Graphics. It uses Vega as a backend, and you need to write the plot specifications in JSON. Its grammar refers to mark as geometry, channel as aesthetic, and encoding as mapping. The grammar provides statistics such as density, inside transformations, and interactivity mainly through selection.

You can use Vega-Lite from Julia thanks to the VegaLite package. Its @vlplot macro allows you to write the specification in Julia. In the @vlplot macro, the first positional argument indicates the mark to use, and the keyword arguments indicate channels and encodings. Let’s look at some examples of the syntax in action:

  1. Create a new Pluto notebook and execute the following code in the first cell:
    begin
        using Pkg
        Pkg.activate(temp=true)
        Pkg.add(...