matplotlib / matplotlib/matplotlib

[ENH]: add path.sketch.{scale, length, randomness, seed} rcParams

Open
#27,318 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

New feature topic: rcparams
Dominant language
Python
Stars
23.2k
Forks
8.5k
Avg merge
1d 6h
Merged PRs (30d)
66

Description

### Problem

Looking at #25796 and #26854, it might be helpful to be able to independently set the different parts of sketch and not just as a tuple. This is motivated by wanting to make `plt.xkcd` discouraged and wanting the cleanest alternative for passing in the sketch params.

### Proposed solution

#25796 moves in this direction by allowing both

```python

mpl.rcParams['path.sketch'] = (scale, length, randomness, seed)
mpl.rcParams[`path.sketch_seed'] = seed

```

and if we're OK w/ the other parameters getting their own rcParams then they can have a unified naming scheme. Alternatively, we can probably do the parsing so ``None = default`` but I don't like having to remember which position is which param.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issues #25796 and #26854, then inspect how the existing path.sketch rcParam is handled. Decide whether scale, length, randomness, and seed should each receive independently named rcParams or use another parsing approach. Done means the chosen configuration scheme is implemented consistently and independently controls the sketch parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.