Engee documentation

JuliaPlots

Plots is great on its own, but the real power comes from the ecosystem surrounding it. The design of Plots (and more specifically RecipesBase) is to bind together disparate functionality into a cohesive and consistent user experience. Some packages may choose to implement recipes to visualize their custom types. Others may extend the functionality of Plots for Base types. On this page I’ll attempt to collect and display some of the many things you can do using the ecosystem which has developed around the Plots core.

The JuliaPlots organization builds and maintains much of the most commonly used functionality external to core Plots, as well as RecipesBase, PlotUtils, the documentation, and more.

Community packages

AtariAlgos

AtariAlgos.jl wraps the ArcadeLearningEnvironment as an implementation of an AbstractEnvironment from the Reinforce interface. This allows it to be used as a plug-and-play module with general reinforcement learning agents.

Games can also be "plotted" using Plots.jl, allowing it to be a component of more complex visualizations for tracking learning progress and more, as well as making it easy to create animations.

8923a2f6 62e2 11e6 943f bd0a2a7b5c1f

Reinforce

Reinforce.jl is an interface for Reinforcement Learning. It is intended to connect modular environments, policies, and solvers with a simple interface.

f3e18414 63a0 11e6 9f9e f531278216f9

JuliaML

Tools, models, and math related to machine learning in Julia.

93b71b42 81ac 11e6 9c7a 0cddf6d083ab

Augmentor

Augmentor.jl is an image-augmentation library designed to render the process of artificial dataset enlargement more convenient, less error prone, and easier to reproduce. This is achieved using probabilistic transformation pipelines.

3894d2b0 61b6 11e6 8b10 1cb5139bfb6d

DifferentialEquations

DifferentialEquations.jl is a package for solving numerically solving differential equations in Julia by Chris Rackauckas. The purpose of this package is to supply efficient Julia implementations of solvers for various differential equations. Equations within the realm of this package include ordinary differential equations (ODEs), stochastic ordinary differential equations (SODEs or SDEs), stochastic partial differential equations (SPDEs), partial differential equations (with both finite difference and finite element methods), differential algebraic equations, and differential delay equations. It includes well-optimized implementations classic algorithms and ones from recent research, including algorithms optimized for high-precision and HPC applications.

All of the solvers return solution objects which are set up with plot recipes to give informative default plots.

diffeq

PhyloTrees

The PhyloTrees.jl package provides a type representation of phylogenetic trees. Simulation, inference, and visualization functionality is also provided for phylogenetic trees. A plot recipe allows the structure of phylogenetic trees to be drawn by whichever plotting backend is preferred by the user.

a25374fc 608c 11e6 9160 32466b094f0b

EEG

Process EEG files and visualize brain activity.

210f9c28 5974 11e6 8a05 62fa399d32d1
523373a0 597a 11e6 94d9 826381617756

ImplicitEquations

In a paper, Tupper presents a method for graphing two-dimensional implicit equations and inequalities. This package gives an implementation of the paper’s basic algorithms to allow the Julia user to naturally represent and easily render graphs of implicit functions and equations.

687474703a2f2f692e696d6775722e636f6d2f4c4368547a43312e706e67

ControlSystems

A control systems design toolbox for Julia. This toolbox works similar to that of other major computer-aided control systems design (CACSD) toolboxes. Systems can be created in either a transfer function or a state space representation. These systems can then be combined into larger architectures, simulated in both time and frequency domain, and analyzed for stability/performance properties.

pidgofplot2

ValueHistories

Utility package for efficient tracking of optimization histories, training curves or other information of arbitrary types and at arbitrarily spaced sampling times

58461c20 5e2a 11e6 94d4 b4699c63ab1a

ApproxFun

ApproxFun.jl is a package for approximating functions. It is heavily influenced by the Matlab package Chebfun and the Mathematica package RHPackage.

extrema

AverageShiftedHistograms

Density estimation using Average Shifted Histograms.

3bfc9a96 639b 11e6 8976 aa8bb8fabfc8

MLPlots

Common plotting recipes for statistics and machine learning.

bca0158c 639c 11e6 8e36 4bfc7b36727e
cdc08752 639c 11e6 8c3c e186456630e2

LazySets

LazySets.jl is a Julia package for calculus with convex sets. The principle behind LazySets is to wrap set computations into specialized types, delaying the evaluation of the result of an expression until it is necessary. Combining lazy operations in high dimensions and explicit computations in low dimensions, the library can be applied to solve complex, high-dimensional problems.

Reachability plot of a two-mode hybrid system:

hybrid2d

And many more:

  • Losses.jl

  • IterativeSolvers.jl

  • SymPy.jl

  • OnlineStats.jl

  • Robotlib.jl

  • JWAS.jl

  • QuantEcon.jl

  • Reinforce.jl

  • Optim.jl

  • Transformations.jl / Flow.jl

  • …​