All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- RemoteFigure.setFeatureFilter to directly edit rubberbands' value from external requests
- Multiplot.setFeatureFilter to directly edit rubberbands' value from external requests
- Emit rubberband changes
- Labels:
- fix wide text
- remove shape hovering
- RubberBand: fix rubberband deletion when putting it outside view point
- Fixing tests on dev
- Changing doc link in readme
- Shapes: all shapes can now be set as not interacting with mouse
- Text: Fix text drawing when font is less than 1
- Allow to directly specify if axes are on or off in Python
- LineSegment2D : If it is overloaded, MPL Plot now show the right edge_style instead of generating of random one
- Arc2D: mpl_plot
- Add events (Subject) to emit shape hovering and clicking
- Highlight shapes when corresponding function is called from wrapper software
- Remove offline mode
- Implements InteractiveObject for handling all mouse objects in one class
- Fix global bug on RemoteFigure.resize methods, fixing a browser crasher bug
- Fix bug on tooltip origin when mouse leaving while hovering a shape
- Remove unused code
- Fix html for prettier to work
- Remove name from add plot feature
- Local import
- Add tooltip on any shape with Python with Shape object
- Integer axes only show integer ticks
- Handle date as continuous value on axes
- Allow to log scale axes
- Offline mode
- Add reference_path to all Primitive / Elementary drawing Objects
- Remove data attr from class Arc in Python
- Light improvement of class Arc in Python
- Html stream method
### Add
- Tests of typescript app
- Tests for most of important features
- Toggle Axes
- Customable axes names of Draw
- Use pip install instead of setuptools install in order to avoid .egg being generating and preventing PyPI upload
- Multiplot Drawing + its review
- Remove ill code
- Files organization 1
- Change names of classes and functions (e.g. remove 'new' prefix)
- Files organization 2
- Draw to replace PrimitiveGroups
- Rectangle shapes
- Text handling and writing
- Handle empty elements in Scatter
- Offset & Margin in ParallelPlot
- Performance for curves drawing in ParallelPlot
- Events on window outside canvas are disabled for sure
- Parallel plot feature with:
- Movable axes
- Scalable axes
- Possibility to translate local values of axes
- Rubberbands
- Mouse handling on curves
- Possibility to switch orientation
- Possibility to change sense of axes by clicking on their title
- Line shape with its variants
- ParallelPlot in multiplot with mouse interactions
- newAxis
- newText
- Mouse handling in objects
- MouseWheel interactions
- First implementation of Scatter as a Frame plot
- Add SelectionBox object and allow to draw it on any BasePlot, interacting with RubberBands
- Add method to merge scatter points
- New Scatter frontend implementation:
- Selection Boxes
- Mouse interactions
- Zoom boxes
- Clustering
- Fixed mouse behavior for almost all cases of selection
- Reset actions
- Dependencies of sample states between plots
- Use attributes coming from Python
- Point families implementation as PointSet
- Graph2D implementation
- Package Version checks is not implemented anymore
- Tooltip in Histograms, which can be drawn only in the current window plot
- Avoid huge bugs or problems with frontend implementation
- Automatic font size and positioning
- Background for texts
- Review the way ticks are computed
- Review the way clicked and hovered objects are handled
- Remove old Histogram and switch ScatterMatrix to Multiplot
- Rename newHistogram as Histogram
- Light refactor of mouse attributes
- plot_canvas function in python (needed width and height arguments) (in dev too)
- to_html method in Python so that it is possible to create a plot data file without opening it in web browser
- Allow to draw all points of a Dataset in Graph objects
- Smart writing of axes' names in ParallelPlot
- Allow to draw all points of a Dataset in Graph objects
- Python 3.9 in drone
- Remove numpy from dependencies
- Doc Typescript
- newHistogram plot to replace current Histogram
- There is no covering between multiplot histogram and this one so the two of them can live in plot_data at the same time
- Axes:
- Handled in a BasePlot object and instantiated specifically in each kind of plot (Frame, Histogram,...)
- Generate their own ticks, with a start number (default is 7 for normal plot, 20 for xAxis of Histogram)
- Ticks are built from the nearest 5 multiple in floor(log10(minValue)) with an interval computed with (maxValue - minValue) interval
- Instantiated in Canvas with CanvasMatrix as fixed objects
- Mouse style can be activated for debug stuff
- BasePlot:
- Base Plot for any plot
- Manage mouse, features and axes instantiation
- In BasePlot, all objects are fixed
- Frame:
- Classic orthogonal plot with X and Y axis
- Allow to instantiate moving objects as bars, points, or any other
- Moving objects are projected in the frame movingMatrix, updated for any mouse translation or wheel
- New Shapes have been created to facilitate the refactor. They will be harmonized with the rest of plot data later:
- newShape is the base Shape
- Then some standard shapes (rect, circle, cross, plus, half line,...)
- newText
- Bar, to handle Histogram objects
- Histogram can be instantiated in multiplot
- Rubberbands are not totally connected
- Allow to put " " in file paths
- Allow to draw a multiplot with no data
- update selected_point_index when selecting from parallelplot
- fix previous bug
- npmignore
- remove rubber_bands_dep attribute from PlotData class
- Changelog
- Image generation
- Pre-commit
- Text drawings
- Mutliplot cross selection
- Cypress continuous integration
- Sample class for ScatterMatrix and Dataset
- Tooltip hovering
- Webpack config for local dev build
- npm run build : used by drone to compile webpack bundle
- npm run dev : for local dev use and used by drone to feed cdn
- Drone develop step
- Add force update to plot_canvas options
- Update get_current_link to point to right locations
- Remove intempestive ScatterPlot alert
- Use webpack to split and bundle