CMDimData.jl: Parametric Analysis +Continuous f(x) +Plotting

Galleries: :art: sample output / :art: CMDimCircuits.jl/SignalProcessing / :art: InspectDR.jl package

โ€” "Focus on the analysis itself, not on data manipulation"
โ€” "The hardest part of data analysis should be annotating the plots!"

Build Status

๐ŸŽ‰ Now supporting plot builder files

Supports separate .jl files to build plots from user-provided data.

  • Specify titles, labels, linestyles, etc. for entire PlotCollection (multi-plot object) in a separate file.
  • Makes for more readable code.

See EasyPlot.load_plotbuilders() function (TODO: add to docs, currently only in sample).

Table of contents

  1. Description
    1. Features/Highlights
  2. Installation
  3. Julia tips
  4. Programming interface
    1. Plotting interface
      1. Plotting backends
    2. Saving/Loading {data/plot} โ‡” HDF5 file
  5. Sample usage
    1. Sample directory
    2. Live-slice examples
    3. Parametric sin() "simulation"
  6. Known limitations


CMDimData.jl provides a high-level abstraction to manipulate multi-dimensional data, and automatically interpolate intermediate values as if it was a continuous function.

The goal is to provide analysis tools that lead to minimal code, written in a natural, and readable fashion.


  1. Seamlessly handle multi-dimensional datasets with MDDatasets.jl
    • Perform the same operation on all elements (usually) without having to write explicit loops.
    • Results of data reductions (ex: minimum(), integrations, ...) are handled the same as any other data.
  2. Easily plot multi-dimensional results with EasyPlot module.
    • Quickly organize and plot the results in a way that sheds light on the studied phenomenon.
    • Support for multiple backends
    • Generate eye diagrams (even for backends without native support).
  3. Read/write plots to HDF5 files with EasyData module.


CMDimData.jl is registered with Julia's General registry. It can be installed using Julia's built-in package manager:

julia> ]
pkg> add CMDimData
pkg> add MDDatasets

Note that MDDatasets.jl will automatically be installed alongside CMDimData.jl. However, add-ing it explicitly gives code from the active project/environment direct access to its features.

Moreover, it is highly suggested to install InspectDR.jl. It is the most tested integration for plotting at the moment:

julia> ]
pkg> add InspectDR

Sample usage

Examples of how to use CMDimData are provided in the sample/ subdirectory.

A few examples are organized by function:

Detailed walthroughs:

Sample plot construction

More elaborate examples of constructing EasyPlot.Plot/PlotCollection objects can be found in the sample/plots/ folder.

Known limitations



Extensive compatibility testing of CMDimData.jl has not been performed. The module has been tested using the following environment(s):

  • Linux / Julia-1.3.1


The CMDimData.jl module is not yet mature. Expect significant changes.