Plots Julia

Posted on by admin

These figures are made by Plots.jl Home View on GitHub Jupyter Notebook ver. This site is an unofficial Plots.jl Gallery site. It is inspired by MATLAB Plot Gallery. Figures are ploted by Plots.jl. Tested Environment. Julia 1.5.3; Plots 1.9.1; PyPlot 2.9.0; GR 0.53.0; For all plots, you should import Plots.

Gadfly is a system for plotting and visualization written in Julia. It is based largely on Hadley Wickhams's ggplot2 for R and Leland Wilkinson's book The Grammar of Graphics. It was Daniel C. Jones' brainchild and is now maintained by the community. Please consider citing it if you use it in your work.

Julia

Package features

  1. Plots.jl is a plotting metapackage which brings many different plotting packages under a single API, making it easy to swap between plotting 'backends'. They all have their pros and cons. You can explore some here.
  2. Is there a simple way to make a log-log plot or semilog plot in Julia? This link provides a sort of clunky way to do it, but given the general ethos of Julia I suspect there's a shorter way. Improve this question. Follow asked Jul 20 '18 at 15:40.
  3. Set of unofficial examples of Julia the high-level, high-performance dynamic programming language for technical computing. Below are a series of examples of common operations in Julia. They assume you already have Julia installed and working (the examples are currently tested with Julia v1.0.5). The simplest possible script.
Plots Julia
  • Renders publication quality graphics to SVG, PNG, Postscript, and PDF
  • Intuitive and consistent plotting interface
  • Works with Jupyter notebooks via IJulia out of the box
  • Tight integration with DataFrames.jl
  • Interactivity like panning, zooming, toggling powered by Snap.svg
  • Supports a large number of common plot types

Installation

The latest release of Gadfly can be installed from the Julia REPL prompt with

The closing square bracket switches to the package manager interface and the add commands installs Gadfly and any missing dependencies. To return to the Julia REPL hit the delete key.

From there, the simplest of plots can be rendered to your default internet browser with

Now that you have it installed, check out the Tutorial for a tour of basic plotting and the various manual pages for more advanced usages.

Compilation

Julia is just-in-time (JIT) compiled, which means that the first time you run a block of code it will be slow.

One strategy for dealing with the tens of seconds it can take to display your first plot is to rarely close your REPL session. Revise.jl is useful in this case as it establishes a mechanism which automatically reloads code after it has been modified, thereby reducing the need to restart.

Julia

Alternatively, one can avoid the first-time-to-plot penalty altogther by ahead-of-time (AOT) compiling Gadfly into the Julia system image using PackageCompiler.jl.

At the end of the resulting copius output will be the command to launch this custom version of julia: something like julia -J $HOME/.julia/dev/PackageCompiler/sysimg/sys.dylib. Make it convenient by putting an alias in your .bashrc: alias julia-gadfly='julia -J ...'.

Note that multiple packages can be built into a new system image at the same time by adding additional arguments: compile_package('Gadfly', 'MyOtherFavoritePackage', ...). Conversely, you don't have to precompile everything you need though, as ]add ... still works.

Now that using Gadfly takes just a split second, there's no reason not to do so automatically in your $HOME/.julia/config/startup.jl file.

A few caveats:

  • PackageCompiler is a work in progress, and the most recent tagged release sometimes (currently as of this writing) does not work. Hence the dev instead of add command to install.

  • Updating to the latest versions of compiled packages requires a recompile. ]uping only works for those that haven't been built into the system image.

  • Plots won't be automatically displayed in your default browswer unless you tweak Base.Multimedia.displays to return the GadflyDisplay to the last entry. To do so, add atreplinit(x->pushdisplay(Gadfly.GadflyDisplay())) to your startup.jl, or pushdisplay manually.

  • JULIA_PROJECT is entirely disregarded– you'll have to manually ]activate .... see https://github.com/JuliaLang/PackageCompiler.jl/issues/228.

Julia Plots

Plots are used to visualize data in a graphical representation. In Julia, Plots can be drawn in different ways.

In this tutorial, we will learn how to draw a Plot in Julia using Plots.jl package.

Install Plots.jl

You have to install Plots.jl package in Julia if you have already not installed.

To install Plots.jl, add “Plots” package using Pkg as shown below:

For the first time, Julia itself compiles the Plots package for you.

Example – 2D Plot in Julia

In this example, we shall draw a 2D plot in Julia.

Plots package supports multiple backend libraries that actually do the drawing which implement the same API ofcourse. In this example, we will use GR module. GR is essentially based on an implementation of a Graphical Kernel System (GKS) and OpenGL.

script.jl

Output

This is just a basic 2D plot. You can add much more information to this plot.

Plots julia brown

Adding Another Plot to the existing Plot

Let us now add small circles at the points.

We shall use scatter() function. Using ! in scatter!() makes scatter! a mutating function, indicating that the scattered points will be added onto the pre-existing plot.

script.jl

Output

Writing X-label and Y-label

Let us complete this plot with all the basic information. We will add labels to X and Y axes using xlabel() and ylabel() functions.

script.jl

X and Y labels are added to the plot.

Plots Julia Size

Giving our Plot a Title

To give a title to the plot, use the function title().

script.jl

Conclusion

Plots Julia Brown

In this Julia Tutorial, we learned about Julia Plots.