You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(7) |
2
|
3
(6) |
4
(1) |
5
(5) |
6
|
7
(11) |
8
|
9
|
10
(2) |
11
(3) |
12
(1) |
13
|
14
|
15
(3) |
16
(4) |
17
(5) |
18
(10) |
19
(4) |
20
(2) |
21
(8) |
22
(12) |
23
(6) |
24
(7) |
25
|
26
(7) |
27
(5) |
28
(1) |
29
|
30
|
|
|
|
|
|
|
On 24 Nov 2014 12:42, "Benjamin Root" <ben...@ou...> wrote: > > It is odd you mentioned the extra refreshes. I have to double-check my book examples, but I think I found that I needed to add some extra draw_idle() calls when using native wx widgets. > > This does raise another point. As a development policy, how should we treat the backends? Should we be free to change it up so long as it works well with Matplotlib, or should we be cautious and recognize that there are users who go down beyond the canvas layer? > Because the backends are pretty close I would like to think we can modify them, but by my own experience this is not the case. Whenever you want to do something more (but not too much) you as user just tweak the backend. That is one of the reasons behind MEP22. To offer a "clean" way to modify the backend without actually modifying it. @tacaswell was working on a PR along the lines of making the backend components reusable (not just the canvas) > Ben Root > > On Mon, Nov 24, 2014 at 12:28 PM, Chris Barker <chr...@no...> wrote: >> >> On Sun, Nov 23, 2014 at 12:59 PM, Eric Firing <ef...@ha...> wrote: >>> >>> On 2014年11月23日, 12:18 PM, Benjamin Root wrote: >>> > Reading through the backend_wx.py code, I noticed a small deviation from >>> > the other interactive backends. All other >>> > new_figure_manager_given_figure() separately creates a canvas and >>> > manager object (which, in turn, creates the window object) and hooks >>> > them all up. The manager would handle all window responsibilities such >>> > as creation/destruction and sizing. However, for the WX backend, this >>> > function just creates a FigureFrameWx object, which is the window >>> > widget. This object also becomes responsible for creating the canvas and >>> > the manager. >>> > >>> > This setup seems a bit backwards to me, but I am not entirely sure. It >>> > is definitely different. Does anybody know if it is merely a remnant of >>> > older designs (I think WX was the first backend)? What are the >>> > limitations of this approach, if any? Is there any interest in >>> > normalizing this backend design with the others (or vice versa)? >>> >>> In general, making the backends as similar as possible (and factoring >>> out as much as possible) is good; but actually messing around with these >>> things can be time consuming, painful, and hazardous. It's hard to test >>> with all the different platforms and versions. >> >> >> Last I looked, and I doubt much has changed, the wx back-end required a fair bit of love -- there was a lot of extra refresh() calls being made in various places, most of which were unnecessary most of the time -- i.e. a bunch of extra refreshes. I've been hoping for literally years to find the time to go in an clean that up, but not yet.... >> >> So -- if someone can dedicate some time to clean up the wx back-end, then it wold make sense to look into normalizing this, too. But I agree with Eric, this is likely to be a significant job -- wouldn't tough unless your'e ready to commit to some real work. >> >> If it ain't broke..... >> >> -Chris >> >> -- >> >> Christopher Barker, Ph.D. >> Oceanographer >> >> Emergency Response Division >> NOAA/NOS/OR&R (206) 526-6959 voice >> 7600 Sand Point Way NE (206) 526-6329 fax >> Seattle, WA 98115 (206) 526-6317 main reception >> >> Chr...@no... >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >
On Mon, Nov 24, 2014 at 9:41 AM, Benjamin Root <ben...@ou...> wrote: > It is odd you mentioned the extra refreshes. I have to double-check my > book examples, but I think I found that I needed to add some extra > draw_idle() calls when using native wx widgets. > I haven't messed with widgets within MPL at all -- so I'm no help there. > This does raise another point. As a development policy, how should we > treat the backends? Should we be free to change it up so long as it works > well with Matplotlib, or should we be cautious and recognize that there are > users who go down beyond the canvas layer? > I've toyed with using the guts of MPL as a generic for-something-other-than-plotting AGG renderer. But I think it's fair to not support that kind of use-case with guarantees of backwards compatibility. I do think a just-agg-drawing lib would be a nice think to have. So some day, it may make sense to spilt it our out of MPL, and then we'd need to worry about preserving the API, but while it's built into MPL, I wouldn't worry about it. -CHB > > Ben Root > > On Mon, Nov 24, 2014 at 12:28 PM, Chris Barker <chr...@no...> > wrote: > >> On Sun, Nov 23, 2014 at 12:59 PM, Eric Firing <ef...@ha...> wrote: >> >>> On 2014年11月23日, 12:18 PM, Benjamin Root wrote: >>> > Reading through the backend_wx.py code, I noticed a small deviation >>> from >>> > the other interactive backends. All other >>> > new_figure_manager_given_figure() separately creates a canvas and >>> > manager object (which, in turn, creates the window object) and hooks >>> > them all up. The manager would handle all window responsibilities such >>> > as creation/destruction and sizing. However, for the WX backend, this >>> > function just creates a FigureFrameWx object, which is the window >>> > widget. This object also becomes responsible for creating the canvas >>> and >>> > the manager. >>> > >>> > This setup seems a bit backwards to me, but I am not entirely sure. It >>> > is definitely different. Does anybody know if it is merely a remnant of >>> > older designs (I think WX was the first backend)? What are the >>> > limitations of this approach, if any? Is there any interest in >>> > normalizing this backend design with the others (or vice versa)? >>> >>> In general, making the backends as similar as possible (and factoring >>> out as much as possible) is good; but actually messing around with these >>> things can be time consuming, painful, and hazardous. It's hard to test >>> with all the different platforms and versions. >>> >> >> Last I looked, and I doubt much has changed, the wx back-end required a >> fair bit of love -- there was a lot of extra refresh() calls being made in >> various places, most of which were unnecessary most of the time -- i.e. a >> bunch of extra refreshes. I've been hoping for literally years to find the >> time to go in an clean that up, but not yet.... >> >> So -- if someone can dedicate some time to clean up the wx back-end, then >> it wold make sense to look into normalizing this, too. But I agree with >> Eric, this is likely to be a significant job -- wouldn't tough unless >> your'e ready to commit to some real work. >> >> If it ain't broke..... >> >> -Chris >> >> -- >> >> Christopher Barker, Ph.D. >> Oceanographer >> >> Emergency Response Division >> NOAA/NOS/OR&R (206) 526-6959 voice >> 7600 Sand Point Way NE (206) 526-6329 fax >> Seattle, WA 98115 (206) 526-6317 main reception >> >> Chr...@no... >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no...
It is odd you mentioned the extra refreshes. I have to double-check my book examples, but I think I found that I needed to add some extra draw_idle() calls when using native wx widgets. This does raise another point. As a development policy, how should we treat the backends? Should we be free to change it up so long as it works well with Matplotlib, or should we be cautious and recognize that there are users who go down beyond the canvas layer? Ben Root On Mon, Nov 24, 2014 at 12:28 PM, Chris Barker <chr...@no...> wrote: > On Sun, Nov 23, 2014 at 12:59 PM, Eric Firing <ef...@ha...> wrote: > >> On 2014年11月23日, 12:18 PM, Benjamin Root wrote: >> > Reading through the backend_wx.py code, I noticed a small deviation from >> > the other interactive backends. All other >> > new_figure_manager_given_figure() separately creates a canvas and >> > manager object (which, in turn, creates the window object) and hooks >> > them all up. The manager would handle all window responsibilities such >> > as creation/destruction and sizing. However, for the WX backend, this >> > function just creates a FigureFrameWx object, which is the window >> > widget. This object also becomes responsible for creating the canvas and >> > the manager. >> > >> > This setup seems a bit backwards to me, but I am not entirely sure. It >> > is definitely different. Does anybody know if it is merely a remnant of >> > older designs (I think WX was the first backend)? What are the >> > limitations of this approach, if any? Is there any interest in >> > normalizing this backend design with the others (or vice versa)? >> >> In general, making the backends as similar as possible (and factoring >> out as much as possible) is good; but actually messing around with these >> things can be time consuming, painful, and hazardous. It's hard to test >> with all the different platforms and versions. >> > > Last I looked, and I doubt much has changed, the wx back-end required a > fair bit of love -- there was a lot of extra refresh() calls being made in > various places, most of which were unnecessary most of the time -- i.e. a > bunch of extra refreshes. I've been hoping for literally years to find the > time to go in an clean that up, but not yet.... > > So -- if someone can dedicate some time to clean up the wx back-end, then > it wold make sense to look into normalizing this, too. But I agree with > Eric, this is likely to be a significant job -- wouldn't tough unless > your'e ready to commit to some real work. > > If it ain't broke..... > > -Chris > > -- > > Christopher Barker, Ph.D. > Oceanographer > > Emergency Response Division > NOAA/NOS/OR&R (206) 526-6959 voice > 7600 Sand Point Way NE (206) 526-6329 fax > Seattle, WA 98115 (206) 526-6317 main reception > > Chr...@no... > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > >
On Sun, Nov 23, 2014 at 12:59 PM, Eric Firing <ef...@ha...> wrote: > On 2014年11月23日, 12:18 PM, Benjamin Root wrote: > > Reading through the backend_wx.py code, I noticed a small deviation from > > the other interactive backends. All other > > new_figure_manager_given_figure() separately creates a canvas and > > manager object (which, in turn, creates the window object) and hooks > > them all up. The manager would handle all window responsibilities such > > as creation/destruction and sizing. However, for the WX backend, this > > function just creates a FigureFrameWx object, which is the window > > widget. This object also becomes responsible for creating the canvas and > > the manager. > > > > This setup seems a bit backwards to me, but I am not entirely sure. It > > is definitely different. Does anybody know if it is merely a remnant of > > older designs (I think WX was the first backend)? What are the > > limitations of this approach, if any? Is there any interest in > > normalizing this backend design with the others (or vice versa)? > > In general, making the backends as similar as possible (and factoring > out as much as possible) is good; but actually messing around with these > things can be time consuming, painful, and hazardous. It's hard to test > with all the different platforms and versions. > Last I looked, and I doubt much has changed, the wx back-end required a fair bit of love -- there was a lot of extra refresh() calls being made in various places, most of which were unnecessary most of the time -- i.e. a bunch of extra refreshes. I've been hoping for literally years to find the time to go in an clean that up, but not yet.... So -- if someone can dedicate some time to clean up the wx back-end, then it wold make sense to look into normalizing this, too. But I agree with Eric, this is likely to be a significant job -- wouldn't tough unless your'e ready to commit to some real work. If it ain't broke..... -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chr...@no...
That is super cool. I was thinking about doing something similar, glad it has already been so well done. The example figures at the bottom bring up another point, we should have a canonical set of test figures, both for the color map and the defaults in general, I think that will really help with this discussion. That example could also be reused as a standard show-case for style-files. Tom On Mon Nov 24 2014 at 11:32:41 AM Michael Droettboom <md...@st...> wrote: > I, for one, would love to see a pull request for this if you're game. > > Mike > > > On 11/24/2014 04:27 AM, Lion Krischer wrote: > > Hi all, > > I was made aware of this thread and thought I’d share a notebook I > recently made for a similar purpose: > > http://nbviewer.ipython.org/gist/krischer/d35096a9d3b6da5846a5 (takes a > while to load...) > > It attempts to "optimize" colormaps by defining optimality as having a > linear lightness across the colormap in LAB color space. It is very simple > and not a proper optimization procedure. It just goes to LAB space, sets > the lightness to the target lightness, and goes back to sRGB space. This > does not always work as the LAB color space is much bigger than the RGB one > but in many cases it produces fairly good results. > > The nice thing about this is that the lightness range can be chosen so it > is does not always have to be stark white or black at the ends and some hue > can be preserved. > > I am not sure if some similar functionality is useful to include into > matplotlib (I don’t really think so) but if yes, let me know and I’ll give > it a try. I guess it could also be extended to optimize towards monotonic > changes in hue. > > Cheers and all the best! > > Lion > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Matplotlib-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > -- > Michael Droettboom > Science Software Branch > Space Telescope Science Institute > http://www.droettboom.com > > ------------------------------------------------------------ > ------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/ > 4140/ostg.clktrk_______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >
I, for one, would love to see a pull request for this if you're game. Mike On 11/24/2014 04:27 AM, Lion Krischer wrote: > Hi all, > > I was made aware of this thread and thought I’d share a notebook I > recently made for a similar purpose: > > http://nbviewer.ipython.org/gist/krischer/d35096a9d3b6da5846a5 (takes > a while to load...) > > It attempts to "optimize" colormaps by defining optimality as having a > linear lightness across the colormap in LAB color space. It is very > simple and not a proper optimization procedure. It just goes to LAB > space, sets the lightness to the target lightness, and goes back to > sRGB space. This does not always work as the LAB color space is much > bigger than the RGB one but in many cases it produces fairly good results. > > The nice thing about this is that the lightness range can be chosen so > it is does not always have to be stark white or black at the ends and > some hue can be preserved. > > I am not sure if some similar functionality is useful to include into > matplotlib (I don’t really think so) but if yes, let me know and I’ll > give it a try. I guess it could also be extended to optimize towards > monotonic changes in hue. > > Cheers and all the best! > > Lion > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel -- Michael Droettboom Science Software Branch Space Telescope Science Institute http://www.droettboom.com
Hi all, I was made aware of this thread and thought I’d share a notebook I recently made for a similar purpose: http://nbviewer.ipython.org/gist/krischer/d35096a9d3b6da5846a5 <http://nbviewer.ipython.org/gist/krischer/d35096a9d3b6da5846a5> (takes a while to load...) It attempts to "optimize" colormaps by defining optimality as having a linear lightness across the colormap in LAB color space. It is very simple and not a proper optimization procedure. It just goes to LAB space, sets the lightness to the target lightness, and goes back to sRGB space. This does not always work as the LAB color space is much bigger than the RGB one but in many cases it produces fairly good results. The nice thing about this is that the lightness range can be chosen so it is does not always have to be stark white or black at the ends and some hue can be preserved. I am not sure if some similar functionality is useful to include into matplotlib (I don’t really think so) but if yes, let me know and I’ll give it a try. I guess it could also be extended to optimize towards monotonic changes in hue. Cheers and all the best! Lion