September 2020
Call co-ordinates: Mondays @ 15:00 Eastern US time (UTC -05:00) https://zoom.us/j/384435716
Previous notes: 2020 Meeting Agenda
Archive: matplotlib/ProjectManagement
28 September 2020
Agenda:
Old business:
Issues
PRs
Notes:
Zoom
Security Policy
Browsers:
ResizeObserver
not implemented in FF69 until last year, in Chrome 3-4 y.
- Extended support release:
- do we need to support this?
- not part of packaging system
- how big is it?
- would need to add a shim…
- if self contained, seems reasonable.
- versus documenting incompatibility
- suggest similar amount of time to python support: 3.5 y
Consistency of defaults capstyle
and joinstyle
https://github.com/matplotlib/matplotlib/issues/18597
PathPatch
and Line2D
incompatible defaults
PathPatch
hard coded. Line off rcParam. Add an rcParam?
- arrows seem hard coded
- does it need to be on universal default?
- specific patches need specific
@bruno: open issue on circle patch
date ticker factory:
Stair test fixes…
- change data: user must call
relim()
…
- can be useful.
Collections color logic
18573: axes_class
21 September 2020
Agenda
Governance
PRs:
Notes
Code of conduct
- concern is that it is actionable
- perceived as problematic to have to go through back-channels.
- can be problematic
- do we value it?
- EDI kick? @dstansby
- @jklymak: will move this forward…
- back up ombudsman
- leah at NumFOCUS?
- try and have under unmbrella
Small dev grant
- small dev grant:
- $5k if something useful we should propose…
security email
PRs
-
subfigure
is the name…
-
shared axis:
- sharing ticks and formatters are supposed to be the same…
- currently should both be shared…
- should just be
set_xlim
? rather than looping…
-
pcolorfast,
- should be faster than pcolormesh…
- but how much?
- @anntzer will look at benchmarks and check that new all-numpy version is close to C version…
-
Axes api discussion:
- subfigure useful to allow libraries that have control of figures…
- decorator: global state versus non-global
- explicit better than implicit generally
- context manager?
- agreed on call that this is an important project.
- @tacaswell will put some cycles into moving this forward.
14 September 2020
Agenda
Notes
Pcolormesh handling
- panning and zooming in non-cartesian coords
- interpolation should be in data space, creates issues w/ 0-360 wrap
- folks expect that pcolormesh works like imshow, except pcolormesh doesn't - needs to guess edges - creates issues in wrapped coordinate systems (globes!)
- user can pass in boundaries
- projection can provide function for doing wrapping on non-cartesian coords
- this sorta exists as transform
- is periodic boundary problem
- not sure if there's a canonical way of doing
- previously dropped data, would create piecewise linear condition that usually would follow circle
- want lat/lon grid or projection informed nearest neighbor
- two projections
- native projection system for the axes
- specificy alternate projection for plotting
- original report:
- stereopolar stored in lat lon (plattecarrer) that they wanted plotted in polarstereo - interpolation created jumps
- cartopy side solution
- cartopy heuristic is nan for missing 1/2 grid
- they plan to develop algorithm that defaults over pcolormesh
to do
imshow roundtrip
- value =/= inverse cmap(norm(v))
- switched to interpolation in dataspace
- agg clips hard at 0-1, so mpl internally resamples .25-.75 so rest can be mapped for over/under
- log(100*10^20) doesn't work properly - clip transform eps to 1/20
- problem restatement
- input data < vmax
- via interpolation gets rounded up >vmax
- gets aggressively clipped
- is now nan
proposals
- special case log
- 3.4 proposal: add an episilon to vmin/vmax
- close over values (<vmax+epsilon) will get marked as valid
- discrete boundary on the data
- boundarynorm does this fuzzyness
- moves around implementation details
- concern about domain specific boundary values
- current path:
- resample (rescale/unscale - linear [0-1]) -> norm(rescale) -> colormap
- rewrite interpolator
- sort out the current implementation (agg implementation details) - walk through agg templates
- for every point in kernal window, apply kernal to get interpolated point
- still doing floating points, still mapping to integer (color mapping)
- need to preserve input values- shouldn't happen in nearest 'cause interpolater shouldn't be doing math
- resample & norm order are really scale/domain dependent
To Do
- special case log
- document resample/interpolation/rescaling path & floating point issues
mentored sprint
let @story645 know if you want to be involved
07 September 2020
Agenda
- seaborn get a section in our discourse?
- pydata sphinx theme
- sphinx multiversion
- small dev grant for information architecture?
- intersects w/ GSOD work but not same
PRs and Issues
Notes
naming of "step"
- primary goal to avoid user confusion
- avoid collision with step -> no 'step' in name even though 'step' would be the best plot
- checked what other names were already used in this context (google "<name> plot")
- other names already have different usage
- no one was strongly against
- outstanding question: stair vs stairs
- no one can think of ambigquity with 'stairs'
- consenuss is that "stairs" scans better than "stair" even though most other plot name are singular because in spoken english "stairs" is a weird word.
seaborn wants a section on discourse
- Sounds good!
- @hannah will set it up
pydata theme
- should we move to pydata theme?
- maybe, but want to be able customize the colors (our colors are part of our branding)
- this should also let us use the version selector
logo
- keep the cicle
- change the font
- needs a champion who has bandwidth to lead this