Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions meeting_notes/2018/2018_03_mar.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

- Antony, Hannah, Ryan, Jody

- [ ] DateFormatter and Locator @Jody K
- [ ] DateFormatter and Locator @jklymak
Do we want to update the default locator and ticks or just provide another Formatter option for savvy users?
- https://github.com/matplotlib/matplotlib/pull/10841
- https://github.com/matplotlib/matplotlib/pull/9801
Expand Down Expand Up @@ -46,7 +46,7 @@
- General agreement formatter:
- needs way to get old beghaviour
- useful for teaching/default
- @Antony L suggested naming convention
- @anntzer suggested naming convention
- MPLxyDateFormatter
- Alias AutoFormatter to current MPLXYDateFormatter
- Document “We reserve right to change formatter”
Expand Down
102 changes: 51 additions & 51 deletions meeting_notes/2018/2018_04_apr.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

## Notes

### MEP about MEP? ** @Thomas C will do book keeping tasks**
### MEP about MEP? ** @tacaswell will do book keeping tasks**

- When to write a MEP?
- proposing controversial features,
Expand All @@ -34,13 +34,13 @@
1. do a small PR that adds your MEP to the master list (in https://matplotlib.org/devdocs/devel/MEP/index.html),
2. have another PR with the actual discussion. Helps avoiding conflicting numbers.

**Need text/followup from** @Thomas C **on**
**Need text/followup from** @tacaswell **on**

- [x] summer student
- [x] documentation summit


### Tick Refactor ** @Tim H **
### Tick Refactor ** @timhoffm **

- target 3.1
- MEP?
Expand All @@ -54,7 +54,7 @@
- public api that predates __ convention
- are ticks markers or line collections or something else?
- gridlines are line collections/single broken line
- @Antony L sketch: https://github.com/anntzer/matplotlib/tree/_wip/newaxis
- @anntzer sketch: https://github.com/anntzer/matplotlib/tree/_wip/newaxis
- how does it work with projections?
- straight line in proj space or data space
- rader plots wants straight
Expand All @@ -70,7 +70,7 @@

- text rendering may be slow because of rasterization of individual glyphs, but should be profiled
- might be good for completeness/API reasons
- @Ryan M scattertext WIP: https://github.com/matplotlib/matplotlib/pull/4063
- @dopplershift scattertext WIP: https://github.com/matplotlib/matplotlib/pull/4063
- needs colormapping
- marker, patch and polycollection
- marker codepath/ in draw path:
Expand All @@ -85,7 +85,7 @@

# April 9, 2018

@Ryan M , @Jody K @Eric F @Thomas C , @hannah a
@dopplershift @jklymak @efiring @tacaswell @story645


- [x] inset_axes and extra_spine_x/extra_spine_y into main library.
Expand All @@ -101,15 +101,15 @@

### Inset_axes/spine tick stuff

- @Eric F spend time over the weekend reading through how tick code actually works and took notes.
- @Jody K Currently we don’t have a notion of ‘nested’ axes, but that it would make sense to have ‘child’ axes that is follows the parent. Thinking of these following axes an decorations on the parent axes (like legend)
- @Eric F summary of history of axes_grid and friends
- @efiring spend time over the weekend reading through how tick code actually works and took notes.
- @jklymak Currently we don’t have a notion of ‘nested’ axes, but that it would make sense to have ‘child’ axes that is follows the parent. Thinking of these following axes an decorations on the parent axes (like legend)
- @efiring summary of history of axes_grid and friends
- discussion of what parts of axes_grid we can move up into the ‘mainline’ of the codebase
- @Eric F - refactor and better document code to reduce technical debt?
- @Eric F Cleaning up current ticker might be worth doing before we do whole-sale re-write
- @Eric F suggests that we accept more breakage of edge-case APIs for improved consistency,
- @efiring - refactor and better document code to reduce technical debt?
- @efiring Cleaning up current ticker might be worth doing before we do whole-sale re-write
- @efiring suggests that we accept more breakage of edge-case APIs for improved consistency,
- trade off: replacing more complex with simpler 👍 , complex with complex 👎
- @Thomas C sold on:
- @tacaswell sold on:
- axes_inset as children of parent axes
- more thought on axis children objects
- different x spine/multiple x spines
Expand All @@ -131,7 +131,7 @@
- add tutorial section for developers
- https://github.com/matplotlib/matplotlib/pull/10947
- Notes in progress?
- @Antony L suggested the wiki
- @anntzer suggested the wiki
- **Consensus** https://github.com/orgs/matplotlib/teams/developers

### Perez:
Expand All @@ -142,30 +142,30 @@

- Find out who has push on it
- using it to standardize workflow across communities
- @Antony L suggesting we just link to central gitwash instead of bothering with templating
- @Tim H https://github.com/matplotlib/matplotlib/pull/10997
- @anntzer suggesting we just link to central gitwash instead of bothering with templating
- @timhoffm https://github.com/matplotlib/matplotlib/pull/10997

### Mailing list:

- @Jody K suggest automatic reply on rejected posts saying you have to join to post to the list
- @jklymak suggest automatic reply on rejected posts saying you have to join to post to the list

### Tool manager:

- https://github.com/matplotlib/matplotlib/pull/9022
- @Antony L - good idea but ToolBarManager should be moved out of core
- @Thomas C can’t be moved out ‘cause too coupled with GUI backends
- @Jody K why ToolBarManager?
- @Thomas C makes toolbar modular -can just add buttons for things like zoom and lasso
- @Antony L adding buttons using homebuilt widget system → tool bar manager → write full blown QT GUI
- @Antony L wants to know if it will be the full blown default or another axis_grid
- @anntzer - good idea but ToolBarManager should be moved out of core
- @tacaswell can’t be moved out ‘cause too coupled with GUI backends
- @jklymak why ToolBarManager?
- @tacaswell makes toolbar modular -can just add buttons for things like zoom and lasso
- @anntzer adding buttons using homebuilt widget system → tool bar manager → write full blown QT GUI
- @anntzer wants to know if it will be the full blown default or another axis_grid
- backends: everything except WX (which is in PR)
- goal for 3, default in 3.1

---

# April 16, 2018

@Eric F, @Ryan M, @Thomas C, @hannah a, @Antony L
@efiring, @dopplershift, @tacaswell, @story645, @anntzer

- Documentation Summit: Who wants to come? (And where are you located?)
- PRs:
Expand All @@ -177,17 +177,17 @@

- imshow Python refactor:
- agg interpolation
- 11027 - @Thomas C
- 11027 - @tacaswell
- Add one more dial to automatic spacing based on font size
- assuming x axis tick labels are wider than y axis - more ticks on y than x
- wants algorithm to factor in when x is smaller - dynamic guessing of xtick size
- adding unnecessary? complexity
- @Ryan M - subclass locator, make it first class citizen in library
- @Antony L monkey patch axis api:
- @dopplershift - subclass locator, make it first class citizen in library
- @anntzer monkey patch axis api:
- add public API to replace methods
- tell user to subclass locator - have subclassing API
- set default axes for axis
- @Eric F generalize API to accomplish same by making two new parameters:
- @efiring generalize API to accomplish same by making two new parameters:
- x tick label size/ y tick label size - access to these properties
- trying to estimate how large tick will be in axis dimension (based on character width and height, not fontsize)
- Public API change to locator:
Expand All @@ -198,30 +198,30 @@
- fontsize in points
- locator can get axis object for axis names (x or y)
- need easy way to subclass locators instead of having to subclass axis
- 11048 - @Thomas C
- 11048 - @tacaswell
- move bar grouping out of hist into its own thing so that it can be a shared private function
- add a plt.multibar/groupedbar to support multiple bars that can call bar underneath the hood
- can prune some of the features of bar: no bottom, no alignment,
- grouping - by variable (y) or by x(category)
- API design with no implementation first + how it’d be used by refactored hist
- follow plot and pandas semantics with respect to broadcasting x to y: each column is a dataseries/variable
- replace some of histograms logic with a call to multibar
- @Eric F create a hierarchy of how the plots build on top of each other
- @efiring create a hierarchy of how the plots build on top of each other
- bar charts x tick labels should probably be fixedlocator/fixedformatter by default
- 11055
- @Antony L easy to restore, unclear what it does, doesn’t think it works
- @Ryan M conda-forge testing branch makes setup_cfg use the local freetype
- @anntzer easy to restore, unclear what it does, doesn’t think it works
- @dopplershift conda-forge testing branch makes setup_cfg use the local freetype
- use case: conda looks up listed packages, so you can run only the tests and install the test data, can check all the files that were installed and say “that’s my package” which is a test only package that only contains test results
- newer versions of conda build can generate multiple packages out of one recipe
- pitch it back to conda unless they ask about it?
- [+Documentation summit](https://paper.dropbox.com/doc/Documentation-summit-3HkbTDvrztZbmIm6wsC0B)
- Late Summer/Early Fall - 2-3 days
- Manning people want long form narrative explaining step by step
- thoughts
- @Eric F - summer is better than fall (mid august)
- @Antony L - intermediate level docs (step function in documentation)
- @efiring - summer is better than fall (mid august)
- @anntzer - intermediate level docs (step function in documentation)
- does this already exist?
- defining what is intermediate? - @Antony L what is Python? what is matplotlib?
- defining what is intermediate? - @anntzer what is Python? what is matplotlib?
- https://mail.python.org/pipermail/matplotlib-devel/2018-March/001033.html

---
Expand All @@ -232,7 +232,7 @@

## Agenda:
- bbox issues: @jklymak:
`ax.get_tightbbox()` now includes legends as of #9164 (and #10682 proposes making it that way for *all* artists). But that is sometimes bad if the user has stuck the legend far from the axes (i.e. #11041). @ImportanceOfBeingEearnest brought up the idea of having a flag attached to an artist that says whether it should be part of get_tightbbox, so users can turn it on/off on an as-needed basis.
`ax.get_tightbbox()` now includes legends as of #9164 (and #10682 proposes making it that way for *all* artists). But that is sometimes bad if the user has stuck the legend far from the axes (i.e. #11041). @ImportanceOfBeingErnest brought up the idea of having a flag attached to an artist that says whether it should be part of get_tightbbox, so users can turn it on/off on an as-needed basis.
- https://github.com/matplotlib/matplotlib/issues/9130, https://github.com/matplotlib/matplotlib/pull/9164, https://github.com/matplotlib/matplotlib/pull/10682, https://github.com/matplotlib/matplotlib/issues/11041
- inset_axes API:
- https://github.com/matplotlib/matplotlib/pull/11026
Expand All @@ -249,40 +249,40 @@
- used in tight and constraint layout
- artist property set to true by default, could be set to false by default
- should all artists be part of tight box? do we need method of exclusion?
- @Eric F flag is low barrier, but is there enough use case?
- @efiring flag is low barrier, but is there enough use case?
- current: legend based on bbox_to_anchor argument against existing axes
- proposed exclusion methods:
- method on artist: legend.exclude for bbox
- kwarg to `constraint_layout`?
- alternatives for legends:
- attach legend to its own axes and use that bbox
- @use fig.legend + bbox transform
- @Jody K To Do: add exclusion flag
- @Eric F move automatic gathering of handles, labels into axes methods
- use fig.legend + bbox transform
- @jklymak To Do: add exclusion flag
- @efiring move automatic gathering of handles, labels into axes methods
- do axes composition: axes.get_legend_entries in fig.axes
- feed sum(handles, labels) into fig.legend()

### inset_axis

- child axes
- @Eric F want to preserve hierarchy/ composition
- @Jody K needed for tight_layout/constrained_layout
- @efiring want to preserve hierarchy/ composition
- @jklymak needed for tight_layout/constrained_layout
- tension w/ preserving axesgrid api:
- axesgrid is poorly documented
- multiple apis for add_inset:
- manual, specify the box for the inset axis
- loc based but needs height+width
- padding?
- handled w/ uniform shrink (like colorbar)
- pad in terms of physical units? @Jody K??
- @Eric F : Start with simple api
- pad in terms of physical units? @jklymak??
- @efiring : Start with simple api
- specify rectangle and transform
- @Jody K add_inset_rect + pad
- @jklymak add_inset_rect + pad
- specify pad in physical units

### API inconsistencies

- @Eric F: importance of being earnest mentions inconsistency between text (x, y, text) and annotate takes (text, (x,y))
- @efiring: importance of being earnest mentions inconsistency between text (x, y, text) and annotate takes (text, (x,y))
- keep track of inconsistencies?
- shift to a more uniform standard?
- how to tabulate?
Expand All @@ -298,7 +298,7 @@

# April 30, 2018

@Eric F @Jody K @Thomas C @paul h @hannah a
@efiring @jklymak @tacaswell @phobson @story645

## Agenda:
- py3 transition:
Expand All @@ -309,20 +309,20 @@

PY3 transition.

- @Thomas C wants to stand by the backport criteria (critical bugs and regressions), other backports need a champion.
- @tacaswell wants to stand by the backport criteria (critical bugs and regressions), other backports need a champion.
- 2.2.2 doc branch should only get changes to the .rst file, won’t see changes .py because of how docs are built

UpdateL bbox issues

- `artist.inbbox` flag - property on artist:
- when tight_layout does calculation, ignores everything set to False
- pro: explicit listing of elements in bbox
- con: @Eric F unintended consequences like possible performance issues?
- con: @efiring unintended consequences like possible performance issues?
- does everything need to be explicitly white/blacklisted?
- goal for constraint layout to maybe be default?
- GUIs need to be resized and so on the fly layout
- @paul h suggests doing some benchmarks to see if performance is an issue
- @Thomas C what else could we use this flag for? semantic content of “I want this artist included in the bbox” - tight layout, constrained layout
- @phobson suggests doing some benchmarks to see if performance is an issue
- @tacaswell what else could we use this flag for? semantic content of “I want this artist included in the bbox” - tight layout, constrained layout
- sticky edge - when you change autoscaling to non-tight, but some artists need tight like imshow:
- draw circle on image, will recognize that image wants tight
- if circle>image, adds pad
Expand Down
12 changes: 6 additions & 6 deletions meeting_notes/2018/2018_05_may.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

# May 7, 2018

@Jody K @Eric F @hannah a @Thomas C
@jklymak @efiring @story645 @tacaswell

## Agenda

Expand All @@ -31,7 +31,7 @@

- str same as repr is fine? Best practice? `__repr__` shorter….

### Unit property of Axis: ** attn @Ryan M **
### Unit property of Axis: ** attn @dopplershift **

- go back to using different attribute to store mapping
- create attribute on unit that stores ordering string - unit.unit =
Expand All @@ -44,7 +44,7 @@
- kwarg unit - was stored in ax.unit, now clobbered my datatype unit
- datatype - _unit
- should axis support floats even when locked?
- @Jody K let the convertor decide
- @jklymak let the convertor decide
- internal data abstraction @tacaswell
- data objects attached to artist…
- adaptive re-sampling
Expand All @@ -59,7 +59,7 @@

# May 14, 2018

@Jody K @Eric F @Antony L @Thomas C @hannah a
@jklymak @efiring @anntzer @tacaswell @story645

## Agenda
- 2.2.3? https://github.com/matplotlib/matplotlib/milestone/34
Expand All @@ -83,7 +83,7 @@
- in sdist, but not repo; download at download time? Download sdist, not tarball
- from pypi will be OK not GitHub for a single tar file
- follow jupyter’s methodology
- @Antony L in next month or so?
- @anntzer in next month or so?

### Scipy dependency

Expand All @@ -98,7 +98,7 @@

- good idea, parallels version on contours
- concern that PathCollection used for other things
- maybe add a ScatterAritist which is a subsclass of PathCollecion which adds this method (+ would help @Antony L with mpl cursor)
- maybe add a ScatterAritist which is a subsclass of PathCollecion which adds this method (+ would help @anntzer with mpl cursor)
- https://github.com/networkx/grave/blob/master/grave/grave.py#L221

---
Expand Down
14 changes: 7 additions & 7 deletions meeting_notes/2018/2018_06_jun.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
- https://github.com/matplotlib/matplotlib/pull/11127
- DPI issues for hi-dpi and `fig.set_dpi` and `fig.dpi` inconsistencies…
- [#11227](https://github.com/matplotlib/matplotlib/issues/11227), [#11232](https://github.com/matplotlib/matplotlib/pull/11232),
- @Jody K Methods to organize plotting hierarchy: #11026, #11010, #11234
- @jklymak Methods to organize plotting hierarchy: #11026, #11010, #11234
- Note new project aimed at axes_grid1 harmonization: https://github.com/matplotlib/matplotlib/projects/9
- do we want this? Not attracting reviews…
- @Tim H naming issues? In particular the set_*lim parameter names #11293
- @Tim H naming conventions re methods: maybe inset_axes_rect #11026.
- @timhoffm naming issues? In particular the set_*lim parameter names #11293
- @timhoffm naming conventions re methods: maybe inset_axes_rect #11026.

## Notes

Expand All @@ -26,18 +26,18 @@
- min/max is consistent with r/theta
- directional may be more strictly correct/accurate
- replace name and use start/stop for everything
- @Eric F xlim/xmin/xmax are horrible:
- @efiring xlim/xmin/xmax are horrible:
- xmin/xmax subset of xlim
- min & max isn’t clear - positional or numerical -
- for cartesian axis left & right are correct and unambiguous
- @Eric F bbox methods confusing but use left, right, bottom, top
- @efiring bbox methods confusing but use left, right, bottom, top
- rlim directional would be inner/outer
- theta lim - maybe use stop/start instead (would be consistent with normal range)
- radial has clockwise and counterclockwise - figure out default direction?
- ToDo:
- look at situation with polar plots
- look at transforms see if change needed for API consistency
- check with @Thomas C for thoughts
- check with @tacaswell for thoughts
- formal deprecation or informal deprecation in documentation (new standards)
- do a long term change in docs and warn people heavily - slow dep roll out

Expand Down Expand Up @@ -116,7 +116,7 @@
- `add_zoom_inset_indicator`?

- TODO: review https://github.com/matplotlib/matplotlib/pull/11127 determine if it needs https://github.com/matplotlib/matplotlib/pull/11127 a subclass scatter artist.
- @Thomas C will review this week.
- @tacaswell will review this week.
- https://github.com/matplotlib/matplotlib/pull/10682:
- TODO review before 3.0

Expand Down
Loading