PGFPlotsX (https://github.com/KristofferC/PGFPlotsX.jl) is (yet another) plotting package that aims to provide a convenient way of using PGFPlots http://pgfplots.sourceforge.net/ (a plotting library for LaTeX) from Julia.
We (me and @Tamas_Papp ) have chosen to make the API such that the syntax written in Julia has a similar structure to the one you would write in LaTeX. PGFPlots is a mature plotting library and has tons of documentation and examples and since the structure is similar, it is quite easy to adopt example you see given in LaTeX to Julia. The advantage of doing stuff in Julia is, of course, that we can directly use our data from the analysis we run and that programming in Julia is much nicer than in LaTeX.
The original reason for creating this package was that I really wanted to use PGFPlots to generate the figures for one of my papers to keep the typesetting consistent with the rest of the paper.
I was however not at all happy with the ways I could do that from Julia, most of the things I tried (Plots.jl, PGFPlots.jl) seemed to try to abstract away the PGFPlots-backend but I wanted direct access to it to be able to use all its features. Being able to directly (but with high convenience) use PGFPlots has been one of the core guiding principles.
To list some features:
- Support for directly using some of the types defined in popular packages, for example Colors, DataFrames, StatsBase, Contours etc (see some examples at https://kristofferc.github.io/PGFPlotsX.jl/latest/examples/juliatypes.html).
- PGFPlotsX takes about 1.5s to load and around 1-2 seconds for the first plot to show up.
- The generated figures are shown inline in IJulia, Juno and VSCode.
- Figures can be exported to pdf, svg, png and also to tex to directly be included in e.g. a scientific paper.