# Plotting¶

## Plots.jl¶

Visually, PlotlyJS produces the most appealing plots (for me). But it does not install on my system (1.5).

When a plotting related library is not found (as in “error compiling display”), try ]build Plots.

Defaults are set with the defaults command.

### Axis labels¶

bar tends to have too small default margins for axis labels to show (at least in subplots). Try

using Plots.PlotMeasures

### Legends¶

The label is set when each series is plotted. If labels are set when the plot is created (before the series are plotted), the entries are ignored.

## Saving data with plots:¶

VegaLite does this natively.

with Plots.jl one can use hdf5plot_write to write an entire plot, including the data, to an hdf5 file.

This means that each plot has to be generated twice; once with whatever backend is used to generate PDF files; and then again with hdf5. In particular, one cannot first plot with another backend and then save the resulting plot object to hdf5.

The approach is then to first save the plot to hdf5, then load it and save it with another backend.

Note: In my current (v.1.3) installation, hdf5plot_write generates a bunch or warnings followed by a crash due to world age problems.