Galleries: :art: Output from ./sample/ / :art: SignalProcessing module / :art: Plots.jl package
The InspectDR programming interface is not particularly refined. Code used to generate more complex plots can therefore be a bit difficult to read/maintain.
It will most likely be easier to generate InspectDR
plots by leveraging higher-level APIs (unless you have stringent requirements on time-to-first-plot or number of dependencies). Alternative APIs supporting InspectDR
include:
Note: In instances where higher-level APIs have limited control over the plot, it is typically possible to tweak the final apearance of the "rendered" ::InspectDR.Plot
object using the InspectDR
API.
InspectDR is a fast plotting tool with a responsive GUI, targeting quick navigation of simulation results. In design applications, InspectDR allows for efficient, interactive data exploration, thus shortening each iteration of the design cycle.
Motivation: Despite their great quality, most of Julia's current plotting options were found to be either too slow, and/or provide inadequate interactivity for the author's needs.
The InspectDR library is implemented using 3 distinct plot layers:
Users are encouraged to open an issue if it is unclear how to utilize a particular layer. Documentation is a bit limited at the moment.
The following highlights a few interesting features of InspectDR:
See following subsections for more information.
Quick to first plot, and easy to navigate data using supported mouse/keybindings
InspectDR.jl includes specialized algorithms to accellerate plotting of large "F1" datasets (functions of 1 argument) in order to maintain a good "real-time" (interactive) user experience.
A dataset is defined as a function of 1 argument ("F1") if it satisfies:
y = f(x), where x: sorted, real vector
Examples of "F1" datasets include time domain (y(x=time)
) and frequncy domain (X(w)
) data.
"F1" acceleration is obtained by dropping points in order to speed up the rendering process.
IMPORTANT: "F1" acceleration tends to generate erroneous-looking plots whenever glyphs are displayed. This is because the dropped points may become very noticeable. Consequently, InspectDR will, by default, only apply "F1" acceleration on datasets drawn without glyphs (lines only).
To change when InspectDR applies "F1" acceleration to drop points, look for the :droppoints
entry in the Configuration/Defaults section.
InspectDR.jl also supports generic 2D plotting. More specifically, the tool is capable of plotting arbitrary 2D datasets that satisfy:
(x,y) = (u[i], v[i]), for i in [1...N]
Examples of of such plots (where x-values are not guaranteed to be sorted) include:
Vector
data can be added (AbstractVector
/Range
not currently supported).MIME
output (using show
) does not show up properly in Jupyter notebooks. There appears to be an issue in determining image extents (bounding box).10⁻¹⁵
). Some Greek characters might also be missing.
:droppoints
entry in the Configuration/Defaults section to change this behaviour.Extensive compatibility testing of InspectDR.jl has not been performed. The module has been tested using the following environment(s):
The InspectDR.jl module is not yet mature. Expect significant changes.