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

To get the most out of this book

Most of this book’s chapters need a computer with Julia and a web browser installed and access to the internet. All the code examples have been tested on a Linux machine using Julia 1.6, as this was the LTS version when writing the book. Since the chapters were written at different times, package versions can change from chapter to chapter. Because of that, the following table offers version ranges for some packages:

This book touches on many packages, and this list only shows the ones used in most chapters. To ensure reproducibility, we provide the code used to create the book examples in the GitHub repository of this book. Each chapter folder contains the project environment used to write the examples; you can activate those environments as described in Chapter 1, An Introduction to Julia for Data Visualization and Analysis, if you find errors when using more recent versions of the packages. Also, each Pluto notebook saves its project environment inside; therefore, you can run the Pluto notebook files in the GitHub repo to ensure you are using identical package versions. Note that Julia packages follow the Semantic Versioning (SemVer) specification. Therefore, you can expect this code to work with any recent release of Plots version 1. However, note that for packages in version 0, any change in the middle number can be breaking.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Note that this book requires you to have basic computer programming knowledge—experience with any high-level language will be enough. You do not need to know Julia, as the book will introduce the concepts and syntax required to follow the examples. However, note that this book will not be enough if you don’t have experience with Julia and are looking to learn the language. In such a case, complementing this book with other sources could be beneficial. Also, note that this book focuses on visualization aspects and won’t discuss the mathematical and statistical foundations behind plot types. Therefore, you will get the most out of some chapters in the book’s second part if you have some basic knowledge of those subjects—but that is not a requirement to follow the text.