Skip to content

Matplotlib GSoC 2024 Ideas

hannah edited this page Mar 27, 2024 · 5 revisions

Matplotlib GSoC 2024 Ideas

Mentors

Project Ideas

Bivariate Colormaps

Project Length Intensity Category Involves
175 hours Low Fun/Peripheral Implementing support colormaps with two inputs

Sometimes there are additional pieces of information that we would like to be able to represent in plots.

In particular, this may include representing the phase and magnitude of an image with complex (a + bi) values (or any other similar pair of numbers).

Related Issues/Prs: #4369, #8738, #14168, #18809

Prerequisite Knowledge

  • Python programming

Expected outcomes

  • An implementation of a colormap which uses two values (or one complex value) to determine the output color.
  • This may take the form of an external library (especially in the initial stages) rather than being fully incorporated into matplotlib directly.

Improved Custom Hatch Patterns

Project Length Intensity Category Involves
350 hours Moderate Fun/Peripheral Implementing support for custom Hatch patterns

Hatching adds patterns on top of patches used in Matplotlib Artists. These hatch patterns make things like bar graphs differentiable even when represented in Black and White or for colorblind readers.

Some fields additionally have standardized hatch patterns which are not available in Matplotlib by default.

Extending the current hatch patterns to allow registering custom hatch patterns would benefit users in such fields.

Related Issues/Prs: topic: hatch, particularly #20690, #20029

Prerequisite Knowledge

  • Python programming

Expected outcomes

  • A system for registering custom hatch patterns
  • An implementation (perhaps as an separate python package) of some domain specific hatch patterns

Visual Search

Project Length Intensity Category Involves
350 hours High Infrastructure Implementing image based search on gallery/docs

Modeled on Detexify, the goal of this project is to implement image based search on the gallery. The motivation is to find examples of a visualization that a text based search may not reveal, often because Matplotlib may not use terms for the technique that the user is familiar with. This project is expected to have two phases - image file based search and then sketch based search-and the difficulty is primarily in implementing the search in an efficient manner. Likely this project will include implementing techniques from academic papers. Ideally this project would integrate into sphinx-gallery, likely as an extension of the sphinx-gallery examples recommender system.

Prerequisite Knowledge

  • Python programming
  • image processing and machine learning algorithms
  • optional but very helpful: sphinx documentation engine.

Expected outcomes

  • Image based search of documentation -> probably implemented as a sphinx-gallery plugin.