new features, new code organization and also some style changes!
Key changes:
- The way we handle args. Now, all keywords are handled explicitly, instead of unpacking them using the **kwargs syntax. This makes the code much cleaner, and easier to parse arguments.
- The organization of the plotting code. I eliminated the separate static and animate code bases, bc there was a lot of redundant code and handling args was a mess. its now organized into a plot function, which is the main plotting function that also handles data manipulation prior to plotting, and a draw function, which handles all static and animated drawing.
- Plot styling. All styles are now consistent, the static plots are now the same as the animated plots. Also, all lines/points are thinner.
- New keyword arguments to the plot function:
+`fmt` in 0.1.0, format strings were handled as arguments, but now they are passed as a kwarg. since the fmt kwarg is the first param after the data, the API in 0.1 and 0.2 is the same, except in 0.1 format strings could be passed in any position, and now they must be passed immediately after the data.
+`title` can be passed to add a title to the plot
+`elev` can be passed to change the elevation of the plot. useful for static plots in jupyter notebooks
+`azim` can be passed to change the azimuth of a plot. useful for static plots in jupyter notebooks
+`precog` is an animation only feature which plots a low-opacity trace ahead of the data (similar to chemtrails but in the opposite direction.
+`bullettime` (animation only) is the same as the combinations of precog and chemtrails
+`animate='spin'` will create a "static" plot (i.e. all the data is plotted at once) that rotates
+return_data has been eliminated. the data is now always returned by default
Minor changes:
+ changed 'weights' example data from 3D numpy array to list of 2D numpy arrays
+ updated examples for new 'weights' data format
+ remove docs _build folder from repo
+ added requests to setup.py file
+ remove rogue class from init file
Bugs fixed:
if the rank is of the input matrix is smaller than the number of dimensions requested, the reduce function will now pad the reduced data matrix with ndims-rank columns of zeros.