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
(3) |
2
(2) |
3
(4) |
4
(4) |
5
|
6
|
7
|
8
(2) |
9
(4) |
10
(3) |
11
|
12
(2) |
13
|
14
|
15
(1) |
16
(4) |
17
|
18
(4) |
19
(5) |
20
(8) |
21
(4) |
22
(3) |
23
(1) |
24
(3) |
25
|
26
(1) |
27
(3) |
28
(1) |
29
(1) |
30
(9) |
|
|
|
> I get the feeling that two different ideas are being discussed here. A > discrete color map still would require someone to define a custom one > if they have a favorite set of colors they want to use for each > contour level. That involves some level of inconvenience. I gather > from what Jordan is saying is that he wants to be able to > automatically construct a colorbar from the colors assigned to each > contour level without having to construct a colormap in the first > place. That is, after the contour is done with its specific > color/level assignments, then a request for a colorbar would show a > linear relationship between data levels and the discrete colors > chosen. Do I understand correctly? Yes, that's it exactly. Jordan
Perry Greenfield wrote: > > On Nov 3, 2005, at 12:55 AM, Jordan Dawe wrote: > >> >>> Isn't this closely related to the idea we've tslked about a number of >>> times (mostly off list) to supplant the colormap infrastructure with a >>> "DiscreteColormap" or something along those lines, which mapped data >>> to a set of discrete colors, using nearest neighbor or what have >>> you. Then you would have the best of both worlds: your favorite >>> colors and consistency with the mpl colorbar/colormapping API. Would >>> this work? >>> >> I don't quite understand the idea here, but the colorbar mapping is >> really only part of this. If you make classes for each plot type, you >> could do things like make legend() a call to the PlotClass.Legend() >> method, and each plot could make it's own kind of legend. >> >> I know this is a large architecture change, but it could be >> implimented incrimentally and I think it would give a lot of benefits >> in regards to what you could do with customizing different plot >> behaviours. But, as I said before, I don't really have nearly the >> grasp of the matplotlib codebase that the devs do. It doesn't look >> too difficult to me, but there are probably issues I am not aware of. >> Is there any reason each plot type shouldn't have it's own class? >> > I get the feeling that two different ideas are being discussed here. A > discrete color map still would require someone to define a custom one if > they have a favorite set of colors they want to use for each contour > level. That involves some level of inconvenience. I gather from what > Jordan is saying is that he wants to be able to automatically construct > a colorbar from the colors assigned to each contour level without having > to construct a colormap in the first place. That is, after the contour > is done with its specific color/level assignments, then a request for a > colorbar would show a linear relationship between data levels and the > discrete colors chosen. Do I understand correctly? Automatic colorbar generation when the contourf (for example) colors are given explicitly is certainly one of the things Jordan is talking about, and it is something I have been intending to get to. I think that a first working version, for contour and contourf, can be done with little modification to the present code, and I am inclined to do that at least as an interim measure ASAP--within a few days--unless a better idea becomes clear. That brings us to the larger framework, and here I think there are two or three general ideas rattling around, overlapping but not mutually exclusive. 1) The ScalarMappable class could be extended to include additional mapping methods. Here are four possibilities: - boundaries: this is what contourf already does; N-1 colors are mapped to the regions defined by N boundaries. - nearest-neighbor: similar but N-to-N - dictionary: maps hashable object to color, given an existing dictionary - indexed array: Matlab has this, and I use it extensively in Matlab to deal with exactly the problem that motivated Jordan's message; but it might not be necessary for mpl. 2) When I changed contourf to output a ContourSet object, John suggested that this approach might be used for other types of plot (certainly pcolor, for example), and this is getting closer to what Jordan is talking about as a framework, I think. The idea is to package all useful information in an object, so that either its methods can be called later, or it can be passed to a function (such as colorbar) that understands what to do with it. 3) Jordan's suggestion seems to be going a little farther; I think the idea is to design a class hierarchy for plot types to accomplish the goals of (2) in a more systematic way, rather than dealing with each plot type ad hoc as the demand arises. Eric
On Nov 3, 2005, at 12:55 AM, Jordan Dawe wrote: > >> Isn't this closely related to the idea we've tslked about a number of >> times (mostly off list) to supplant the colormap infrastructure with a >> "DiscreteColormap" or something along those lines, which mapped data >> to a set of discrete colors, using nearest neighbor or what have >> you. Then you would have the best of both worlds: your favorite >> colors and consistency with the mpl colorbar/colormapping API. Would >> this work? >> > I don't quite understand the idea here, but the colorbar mapping is > really only part of this. If you make classes for each plot type, you > could do things like make legend() a call to the PlotClass.Legend() > method, and each plot could make it's own kind of legend. > > I know this is a large architecture change, but it could be > implimented incrimentally and I think it would give a lot of benefits > in regards to what you could do with customizing different plot > behaviours. But, as I said before, I don't really have nearly the > grasp of the matplotlib codebase that the devs do. It doesn't look > too difficult to me, but there are probably issues I am not aware of. > Is there any reason each plot type shouldn't have it's own class? > I get the feeling that two different ideas are being discussed here. A discrete color map still would require someone to define a custom one if they have a favorite set of colors they want to use for each contour level. That involves some level of inconvenience. I gather from what Jordan is saying is that he wants to be able to automatically construct a colorbar from the colors assigned to each contour level without having to construct a colormap in the first place. That is, after the contour is done with its specific color/level assignments, then a request for a colorbar would show a linear relationship between data levels and the discrete colors chosen. Do I understand correctly? Perry
>Isn't this closely related to the idea we've tslked about a number of >times (mostly off list) to supplant the colormap infrastructure with a >"DiscreteColormap" or something along those lines, which mapped data >to a set of discrete colors, using nearest neighbor or what have >you. Then you would have the best of both worlds: your favorite >colors and consistency with the mpl colorbar/colormapping API. Would >this work? > > I don't quite understand the idea here, but the colorbar mapping is really only part of this. If you make classes for each plot type, you could do things like make legend() a call to the PlotClass.Legend() method, and each plot could make it's own kind of legend. I know this is a large architecture change, but it could be implimented incrimentally and I think it would give a lot of benefits in regards to what you could do with customizing different plot behaviours. But, as I said before, I don't really have nearly the grasp of the matplotlib codebase that the devs do. It doesn't look too difficult to me, but there are probably issues I am not aware of. Is there any reason each plot type shouldn't have it's own class? Jordan