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
(2) |
2
(2) |
3
(4) |
4
(3) |
5
|
6
(3) |
7
(1) |
|
8
|
9
(7) |
10
(8) |
11
(14) |
12
(11) |
13
(14) |
14
(2) |
|
15
|
16
(4) |
17
(4) |
18
(9) |
19
(2) |
20
|
21
(2) |
|
22
|
23
(3) |
24
(7) |
25
(15) |
26
(2) |
27
(8) |
28
(4) |
|
29
(2) |
30
(5) |
31
(8) |
|
|
|
|
|
From: Friedrich R. <fri...@gm...> - 2010-08-19 22:15:07
|
Hey, it's getting vivid! Nice! 2010/8/19 Benjamin Root <ben...@ou...>: > Neat! I have been sticking mainly to the front-end parts of matplotlib with > only a vague understanding of the backend/core pieces. I am learning more > all the time. I'm diving sometimes into matplotlib code, but this is the deepest glimpse I have reached so far ... >> > By the time we get to the backends, all the color data should be in a >> > clean, >> > broadcasted rgba form, so it should then be a relatively simple check of >> > the >> > grey flag before writing out the color information. >> >> Mmmh, for some reason colorConverter is used there again, maybe >> historical. >> > > Might be a good idea to try and make a flowchart of some sort and codify > where and when certain things should be done and strive for that > organization. Maybe it would be good contribution to the developer's documentation of *how matplotlib works*. > I hope it isn't the blind leading the blind here. I tend to get lots of > crazy design ideas, especially when dealing with overall architecture, even > without fully understanding exactly how things work. haha! Seems that we are similar in this respect. But in this case, I really tried to tell only ideas which are verified to work from inspection of the code afaict. > Do you have a github account? Maybe we can fork Andrew Straw's repo and > bang on this for a on a separate branch. I have about a week and a half > left before I have to divert my full attention to a month-long project. It's a good idea, my account is friedrichromstedt, maybe you can fork and add me as an collaborator? > Maybe we should also start up another thread summarizing some of the ideas > that has been passed around in this thread and make a prioritized ToDo list > with milestones? How long do you think will this gray thingy take? My plan was to finish next week by Friday. I hope I will get a whole picture today night. Friedrich |
|
From: Benjamin R. <ben...@ou...> - 2010-08-19 14:19:03
|
On Wed, Aug 18, 2010 at 2:08 PM, Friedrich Romstedt < fri...@gm...> wrote: > 2010/8/18 Benjamin Root <ben...@ou...>: > > I had a thought... and it is based on my admittedly incomplete > understanding > > of matplotlib. Everything that gets drawn is derived from the artist > class, > > right? So, what if there was a 'grey' boolean in that base class, and > the > > .draw() function passes that bool down through all the subsequent .draw() > > calls of its child objects (it could be None by default to accept the > > parent's property, or allowed to be explicitly set by the user to > override > > the parent's value.) > > It's a neat idea again. I like it very much. I propose the following: > > 1) As you said, a gray flag in mpl.artist.Artist, which can be > automatically transmitted to the child artists *on render time*. > > 2) Counting the "grayishness" (single, double, ... :-) in > mpl.backends.renderer_bases.RendererBase. > > 3) Evaluating the grayishness in > mpl.backends.renderer_bases.RendererBase.new_gc() [i.e., new graphics > context]. Passing it on to the GraphicsContext as initialisaion > argument. mpl.backends.renderer_bases.GraphicsContextBase has ONLY > ONE COLOUR ARGUMENT, namely .set_foreground(). It seems everythings > breaks down to foreground rendering of pathes and symbols. Indeed, it > uses once again mpl.colors.colorConverter, and I think my refactoring > of this one is not useless at all, but the main point is, it stores an > rgb colour in the end, and in fact *all* rgb colours ever used in any > graphics drawing context. Also for text, etc. pp. > > 4) Introducing a decorator: > > def draw_with_grayishness(fn): > def decorated(self, renderer): > if self.is_gray(): > renderer.increase_grayishness() > fn(self, renderer) > renderer.decrease_grayishness() > else: > fn(self, renderer) > > return decorated > > This turns on grayishness in the renderer if it is requested by > *self*, which is an Artist. > > Neat! I have been sticking mainly to the front-end parts of matplotlib with only a vague understanding of the backend/core pieces. I am learning more all the time. > > By the time we get to the backends, all the color data should be in a > clean, > > broadcasted rgba form, so it should then be a relatively simple check of > the > > grey flag before writing out the color information. > > Mmmh, for some reason colorConverter is used there again, maybe historical. > > Might be a good idea to try and make a flowchart of some sort and codify where and when certain things should be done and strive for that organization. > > Admittedly, I would much rather have this flag check done before getting > to > > the backends and through a single point of code. At first, I thought > that > > ColorConverter would be it, but as I now understand it, it is treated > more > > like a utility module rather than an important step in the rendering > > process. It gets used for things at different points in the matplotlib > > process. > > Yes, it's not the only point, there is at least one more, > mpl.collection.Collection.update_scalaramappable(). And there may be > tons of other selfish procedures ... So I agree fully with you. > > > Maybe I am just going overboard here... > > Well, I come with you :-) > > I hope it isn't the blind leading the blind here. I tend to get lots of crazy design ideas, especially when dealing with overall architecture, even without fully understanding exactly how things work. > So, the code point would be outside of the Renderer, but in the > GraphicsContext, which is abstract enough to be shared by all > implementations of the rendering. It is passed on to the > implementation's methods as an argument, so its .foreground or > whatever is the same to all rendering implementations. > > Friedrich > Do you have a github account? Maybe we can fork Andrew Straw's repo and bang on this for a on a separate branch. I have about a week and a half left before I have to divert my full attention to a month-long project. Maybe we should also start up another thread summarizing some of the ideas that has been passed around in this thread and make a prioritized ToDo list with milestones? Ben Root |