-
Notifications
You must be signed in to change notification settings - Fork 89
Open
Labels
Description
I use this issue as a TODO scratchpad of things I want to focus on the most in near future (weeks), until next release 0.35.0. Most of it has a "sequential" nature to it, so if you'd like to contribute, definitely get in touch!
- Refactor internals. E.g. there are lots of code in
items/which are notPlotItems. Reorganize it in a sensible way. Then there is also code likeLegend, which should get a new specialoverlays/treatment. I will try to not change public API (yet). Internal code cleanup #210 Internal code cleanup: values #211 Internal code cleanup: use, mod and cyclic deps resolution #212- In the library, there are two distinct things that should be cleanly separated: 1. PlotItem which are rendered on the plot "canvas" and 2. fixed-position UI overlays (such as legend). We are missing an OverlayItem trait.
- Work on plot bounds, I don't really understand the logic well, it's confusing, and I'd like to also add new features, such as maximum dragging bounds. Fix no auto_bounds preventing pan/zoom/scroll #218 Add initial auto_bounds test for Plot #220
- Plot bounds should allow closing bunch of opened issues and implement new interesting examples. In particular, I'd like to add a
sin(x)demo with recalculated sampled points (markers), which are also stable while dragging. There is asin(x)in thelinesdemo, but it's more "bolted on"PlotPointsand there is not much flexibility. For example, what if you wanted to sample points in non-linear way? Not possible now. - A more complex example that should be next possible is to make a Mandelbrot Viewer !
- Add a colormap. There should be "anchor" colors specified by user, which will have gradient-like interpolation on unit interval. Then there should be mapping functions to/from this unit interval, that help to get current color. You should be able to specify colormap on a
Figure. Introduce colormaps #188 - I would like to close all open PRs.
Finally, either a) release a new version, or b) do the public API refactor, and release new version.
Public API refactor:
Lots of things are called in a weird way. Lots of things are called PlotXYZ where XYZ is some generic name, and is inconsistent with other plotting librarires like matplotlib / ggplot. I would like to make steps towards unification of that. This will break everyone's code, so ideally I want to do it all at once, to make a more future-proof stable API.
Things that should be possible after refactor:
- Additional disabling / removal of plot items/overlays. This would be nice for the demo and interactive buttons. Now the buttons are swamped with the legend overlay, and I do not want to plumb in some "is a preview" special logic, as it would make the demo example codes a lot more complicated. Live previews in demo gallery #205
White-Rabbit-Scientifickitizz