You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is just a starting point. Your own ideas are most welcome. Please ask questions and post proposals on https://discourse.matplotlib.org/
Indirect Transforms
Project Length
Intensity
Category
Involves
175-350 hours
medium
core development
creating new transform and refactoring code to use it
This project involves factoring out the coordinate systems out of the Annotation API into a reusable positioning API. This would include factoring out Annotations support for relative positioning with respect to base artist into something like IndirectTransform(func: Callable[[], Transform]). This would include a lot of work to then thread the use of the function and transform back into the annotation API, plus new documentation and examples of using the new transform.
new internal function handling the coordinates dispatching found in annotation
code refactor to make use of the API
Notes
This project can be a medium to large project depending on the scope of work in the API building on this new functionality.
"overlay" layer API for interactive backends
Project Length
Intensity
Category
Involves
creating new API on the canvas
Responsive interaction with matplotlib figures is currently limited as any interactive element must be drawn as part of the figure, e.g. widgets.Cursor implements a cross hair cursor and requires expensive redraws of the figure. This project shall create an overlay layer that will be drawn on top of the figure image and can be redrawn independently based on user interaction. This layer will reside in the backend.
The result should be at least a fast crosshair cursor that follows the mouse and is propagated to shared Axes. Further ideas and extensions are welcome.
The project involves some fundamental architecture and API design. The overlay layer must maintain a simplified knowledge on the underlying figure (e.g. where are Axes located), it must store a logical representation of the overlayed elements in a backend-independent way and it must be able to render that information on top of the figure canvas.