-
Notifications
You must be signed in to change notification settings - Fork 4
Feature/#48 plotter #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Enh: Implement twin Y axis scales on plots. Enh: Improve Plotter sub-plot generation code. Allow the layout to be re-initialized with different parameters. Enh: Add prototype interface for Transform functionality on Flight sub-tab. Fix: Fixed behavior of ChannelListModel when it is used in multiple instances - i.e. on the main plot, and the transform plot. The DataSource class was modified to return a unique set of DataChannels, instead of creating a single instance of each channel, which could then be mutated by multiple models - leading to unexpected behavior.
ENH: Large re-write of the plotter.py module, including most of LineGrabPlot class. Added AxesGroup and PatchGroup classes to conceptually group related Axes and Patches (Flight Lines) to ease the process of doing batch operations on the plots.
ENH: Implemented contextual cursors that change dependant on mouse location on the plot (e.g. drag handles at edge of flight lines) FIX: Fixed/improved proximity calculations by using percentage system which scales the proximity values based on the X-limits of the axes. DOC: Added more documentation to new classes/methods.
Fixed plot scaling issues e.g. when user plotted a data line while zoomed in on an Axes, using the default Home button on the MPL toolbar would create undesired results. Re-implemented plot resampling method to up/down-sample data based on zoom level for some performance gains in the interactive plot.
When adding a flight to a new project:
|
Fix bug when creating new flight due to code modification in the BasePlottingCanvas class. __len__ method has now been added to the LineGrabPlot.
These are all minor with regard to the overall functionality, so if you want to make these new issues instead of including them in this PR, then I'm ok with that.
|
Fixed patch not drawing after label is set until mouse movement. Fixed text display when label is removed to display empty string. Fixed label position not updating/drawing on zoom in axes where zoom occured.
Resolves #48
Re-write of plotter.py
Also some significant updates to models.py code for the ChannelListModel, improving some of the drag-n-drop logic.
Added a mock interface for the Transform tab, displaying a plot and an example UI layout for the Transform selection tree.
Added significant documentation across modules: plotter.py, models.py, and types.py