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
(4) |
3
|
4
(2) |
5
|
6
(4) |
7
(11) |
8
(7) |
9
(9) |
10
(3) |
11
|
12
|
13
(4) |
14
(1) |
15
(24) |
16
(8) |
17
(11) |
18
(6) |
19
(2) |
20
(14) |
21
(13) |
22
(14) |
23
(3) |
24
(6) |
25
(2) |
26
|
27
(9) |
28
(18) |
29
(7) |
30
(15) |
31
(5) |
|
Actually, looking more closely, there is one thing that's still bothering me: as it is now, it's impossible to have, say, 2 points for plotted values, and 3 points for scatter plots on the same legend (you have to give a numpoints=# command that's shared by everything in the legend, if I'm understanding it). It'd be nice to have a property, say, "scatterpoints" (and presumably then an associated rcParam "legend.scatterpoints" ) that sets the number of points to use for scatter plots. That way, I can make plots just like in the original form, but it can also be the same number for both if so desired. I've attached a patch based on the last one that does this, although it probably needs to be changed to allow for an rcParam 'legend.scatterplot' (I don't really know the procedure for adding a new rcParam). On Mon, Oct 20, 2008 at 3:22 AM, Erik Tollerud <eri...@gm...> wrote: > The current patch looks good to me... it satisfies all the use cases I > had in mind, and I can't think of much else that would be wanted. > Thanks! > > I also very much like the idea of the "sizebar," although that's > probably a substantially larger job to implement. I may look into it > though, time permitting... > > On Sat, Oct 18, 2008 at 7:04 PM, Jae-Joon Lee <lee...@gm...> wrote: >>> To help clarify the original purpose of "update_from": I wrote this >>> method when writing the original legend implementation so the legend >>> proxy objects could easily copy their style attributes from the >>> underlying objects they were a proxy for (so not every property is >>> copied, eg the xdata for line objects is not copied). So the >>> operating question should be: what properties do I need to copy to >>> make the legend representation of the object. While you are in >>> there, perhaps you could clarify this in the docstrings of the >>> update_from method. >> >> Thanks for clarifying this, John. >> >> Manuel, >> The patch looks good to me. We may submit the patch (I hope Erik is >> okay with the current patch) and it would be great if you handle the >> submission. >> >> -JJ >> >> >> >> >> >> On Fri, Oct 17, 2008 at 9:45 PM, Manuel Metz <mm...@as...> wrote: >>> Jae-Joon Lee wrote: >>>> Thanks Manuel. >>>> >>>> Yes, we need rotation value and etc, but my point is, do we need to >>>> update it within the update_from() method? Although my preference is >>>> not to do it, it may not matter much as far as we state what this >>>> method does clearly in the doc. >>> >>> Okay, it's probably better to create the object correctly (numsides ...) >>> instead of copying the properties (see also JDHs mail !) >>> >>>> And, in your patch, I don't think updating the numsides value has any >>>> effect as it does not recreate the paths. >>>> >>>> I'm attaching the revised patch. In this patch, update_from() only >>>> update gc-related properties. And numsides, size, and rotations are >>>> given during the object creation time. >>> >>> Yes, this looks better. But creating handle_sizes is a little bit too >>> much effort. This is done internally. It will do passing a sizes list, >>> that may or may not be shorter/longer than numpoints (see revised patch). >>> >>> I also changed the way the yoffsets are updated in _update_positions(). >>> >>> One additional thing I have in mind (for a later time) is a "sizesbar" >>> similar to a colorbar where you can read off values corresponding to >>> marker sizes... >>> >>> Cheers, >>> Manuel >>> >>>> Erik, >>>> I see your points. My main concern is that the yoffsets makes the >>>> results a bit funny when numpoints is 2. The attached patch has a >>>> varying sizes of [0.5*(max+min), max, min]. The yoffsets are only >>>> introduced when numpints > 2 and you can also provide it as an >>>> optional argument. >>>> >>>> Regards, >>>> >>>> -JJ >>>> >>>> >>>> On Thu, Oct 16, 2008 at 8:43 PM, Manuel Metz <mm...@as...> wrote: >>>>> Manuel Metz wrote: >>>>>> Jae-Joon Lee wrote: >>>>>>> Hi Manuel, >>>>>>> >>>>>>> I think it is a good to introduce the update_from method in Collections. >>>>>>> But, I'm not sure if it is a good idea to also update sizes, paths and >>>>>>> rotation (in RegularPolyCoolection). My impression is that update_from >>>>>>> method is to update gc related attributes. For comparison, >>>>>>> Patch.update_from() does not update the path. >>>>>> That's exactly the point why I wasn't fully happy with the patch. The >>>>>> path is generated by the _path_generator, so instead of copying the path >>>>>> it seems to be better to create an instance of the corresponding class >>>>>> (e.g. the StarPolygonCollection class, as suggested before). >>>>>> >>>>>> One should update the rotation attribute (!!); it's only one number. A >>>>>> '+' marker, for example, has rotation = 0, whereas a 'x' marker has >>>>>> rotation=pi/4. That's the only difference between those two ! >>>>>> >>>>>>> Also, is it okay to update properties without checking its length?. It >>>>>>> does not seem to cause any problems though. >>>>>> It's in principal not a problem to copy the sizes attribute without >>>>>> checking the length. If it's shorter the the number of items the sizes >>>>>> are repeated; if it's longer it gets truncated. >>>>>> >>>>>> mm >>>>>> >>>>>>> I guess It would better to use xdata_markers than xdata in the >>>>>>> get_handle() method. The difference is when numpoints==1. Using xdata >>>>>>> gives two marker points. >>>>>>> >>>>>>> I was actually about to to commit my patch. I'll try to account your >>>>>>> changes and post my version of patch later today. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> -JJ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Oct 15, 2008 at 4:07 PM, Manuel Metz <mm...@as...> wrote: >>>>>>>> hmm >>>>>>>> >>>>>>>> -------- Original Message -------- >>>>>>>> Jae-Joon Lee wrote: >>>>>>>>>> - the parameter numpoints should be used (it's ignored right now) >>>>>>>>>> >>>>>>>>> Thanks Manuel. I guess we can simply reuse xdata_marker for this purpose. >>>>>>>>> >>>>>>>>> >>>>>>>>>> - Some private variables are accessed and a new RegularPolycollection is >>>>>>>>>> created (does this work eg. with a StarPolygonCollection? I haven't >>>>>>>>>> checked, but I don't think so !). Instead of creating a new >>>>>>>>>> RegularPolyCollection it might be more useful to make a copy of the >>>>>>>>>> existing object... I was thinking about a update_from() method for the >>>>>>>>>> Collection class(es) similar to update_from() for lines. >>>>>>>>>> >>>>>>>>> By changing "RegularPolyCoolection" to "type(handles)", it works for >>>>>>>>> StarPolygonCollection. >>>>>>>>> >>>>>>>>> In Erik's current implementation, the markers in the legend have >>>>>>>>> varying colors, sizes, and y offsets. >>>>>>>>> The color variation seems fine. But do we need to vary the sizes and >>>>>>>>> y-offsets? My inclination is to use a fixed size (median?) and a fixed >>>>>>>>> y offset. How does Erik and others think? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> -JJ >>>>>>>> Attached is my current version of the patch. I've moved all of the >>>>>>>> properties-copying stuff to collections, which makes the changes >>>>>>>> legend.py more clearer (but I'm not fully happy with the patch and >>>>>>>> haven't commit anything yet) >>>>>>>> >>>>>>>> mm >>>>>>>> >>>>> Hi Jae-Joon, >>>>> so here is my revised version of the patch. What do you think ? >>>>> >>>>> Manuel >>>>> >>>>> >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>> >>> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> > -- Erik Tollerud Graduate Student Center For Cosmology Department of Physics and Astronomy 2142 Frederick Reines Hall University of California, Irvine Office Phone: (949)824-2587 Cell: (651)307-9409 eto...@uc...
On Mon, Oct 20, 2008 at 12:12 PM, Christopher Barker <Chr...@no...> wrote: > Ben North wrote: > >> I tend to use matplotlib over an X connection, Yep, we know this reason. Lee stated he was on a windows box, which doesn't rule out X11 forwarding but makes it less likely, so I was wondering if there was another reason. I went ahead and applied the patch so those of you using native backend wx can test his image support enhancements. JDH
Ben North wrote: > I tend to use matplotlib over an X connection, well, I think that is THE reason to choose wx over wxAgg (or GTK over GTKAgg). However, I thought the newer versions of the wx back-end double buffered, and thus pretty much eliminated the advantage anyway. Also note that last I looked into it, wxAgg was doing some extra unneeded blitting of the image to the screen, which makes little noticeable difference usually. but you might really feel that over an remote X connection. -Chris -- Christopher Barker, Ph.D. Oceanographer NOAA/OR&R/HAZMAT (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception
Hope nobody minds if I jump into this discussion: > Date: 2008年10月20日 07:55:06 -0500 > From: "John Hunter" <jd...@gm...> > > [...] could you tell us why you prefer or require backend wx over wxagg? I tend to use matplotlib over an X connection, because the data I'm working with is on a Linux system whereas the machine I sit in front of is a Windows system. I therefore run python on the Linux machine, using my Windows machine just as an X server. I use the WX backend rather than WXAgg because WX is much more responsive for interactive use, e.g., zooming/panning. I'm willing to give up the much better-looking WXAgg output to gain responsiveness. For final output, I tend to save as EPS anyway. Don't know whether this is a widespread use case, but thought I'd mention it in case. [Apologies if this message doesn't get threaded properly; I'm replying to the digest.]
On Mon, Oct 20, 2008 at 10:40 AM, Lee Kamentsky <le...@br...> wrote: > Thanks for your reply, John. It's mostly me being naive - my code works > great when I choose WXAgg as my backend. I'll be using that for now. Feel > free to accept / reject or ask for fixes to the patch. OK, thanks. You may want to see this FAQ for more details on the backends http://matplotlib.sourceforge.net/faq/installing_faq.html#what-is-a-backend JDH
Thanks for your reply, John. It's mostly me being naive - my code works great when I choose WXAgg as my backend. I'll be using that for now. Feel free to accept / reject or ask for fixes to the patch. --Lee John Hunter wrote: > On Mon, Oct 20, 2008 at 7:51 AM, Lee Kamentsky <le...@br...> wrote: > >> Hi all, >> I've submitted a patch to >> matplotlib/lib/matplotlib/backends/backend_wx.py on the bug tracker >> (http://sourceforge.net/tracker2/?func=detail&aid=2166139&group_id=80706&atid=560722 >> ). I'd appreciate feedback on it and am looking forward to the >> functionality making it into an upcoming release. >> >> Briefly, the patch fixes a bug when running under Windows and implements >> draw_image for the backend. >> > > We'll be happy to take a look at this, but since we are trying to > figure out whether we should keep backend_ex at all, could you tell us > why you prefer or require backend wx over wxagg? > > Thanks, > JDH >
While trying to plot filled-circle markers without stroked edges, I believe I've uncovered inconsistent behavior when markeredgewidth = 0. The attached script creates a series of plots with 'o' markers; the plots are created with and without connecting lines and with markeredgewidth alternating between zero and nonzero values. In the PNG output (from the WxAgg backend), when markeredgewidth = 0, the circles are unstroked and have the desired size, which is what I expected. In the EPS output, however, when markeredgewidth = 0, both the width and color seem to be inherited from their prior values when linestyle = 'None' and from the line's attributes when linestyle = '-'. In the PDF output, when markeredgewidth = 0, the markers have hairline edges. My matplotlib version is 0.98.3, rev. 6281. I worked around the issue by setting markeredgewidth to a small nonzero value and markeredgecolor to match the marker face. Does anyone see how to make the behavior consistent across these output formats? Thank you, developers, for an extensive and capable package.
On Mon, Oct 20, 2008 at 10:19 AM, John Hunter <jd...@gm...> wrote: > On Mon, Oct 20, 2008 at 9:01 AM, David Huard <dav...@gm...> wrote: > >> I would oppose any change to histogram calling convention that does not >> fix a critical bug. I agree that using a built-in name as an argument is >> a bug, but I believe it is the lesser evil compared to asking users to >> change their code >> again. > It may not have been clear enough, but let me clarify that I was opposing a change to numpy.histogram, not meddling in matplotlib's hist. Cheers, David > I think in this case we have to change it, but we can do it gently. > Ie, for a release cycle, if we detect "range" in the kwarg case, we'll > set the correct kwarg, eg "binrange", issue a warning, but not raise > an error. That way users can fairly easily change their code w/o > breakage. Whoever does the deprecation should note the date and > version of the deprecation warning, so we will know when enough time > and releases have passed to remove range entirely. > > JDH >
On Mon, Oct 20, 2008 at 9:01 AM, David Huard <dav...@gm...> wrote: > I would oppose any change to histogram calling convention that does not > fix a critical bug. I agree that using a built-in name as an argument is > a bug, but I believe it is the lesser evil compared to asking users to > change their code > again. I think in this case we have to change it, but we can do it gently. Ie, for a release cycle, if we detect "range" in the kwarg case, we'll set the correct kwarg, eg "binrange", issue a warning, but not raise an error. That way users can fairly easily change their code w/o breakage. Whoever does the deprecation should note the date and version of the deprecation warning, so we will know when enough time and releases have passed to remove range entirely. JDH
On Sat, Oct 18, 2008 at 3:07 PM, Eric Firing <ef...@ha...> wrote: > Manuel Metz wrote: >> Please see the end of the mail for the important point !!! > > Thank you--I see you are way ahead of me on this. See comments below. >> >> Eric Firing wrote: >>> Manuel, >>> >>> Although it doesn't hurt, I don't think it is worthwhile changing range >>> to xrange. From the 2.5 docs: >> [...snip...] >>> Note "minimal" advantage. xrange was intended for special-case use, not >>> general use. >> >> Eric, >> >> yes, I absolutely agree with you that this is only a small (minimal) >> advantage, probably not worth to worry about. Nevertheless ... >> >>> And from Python 3.0, http://docs.python.org/dev/3.0/whatsnew/3.0.html >>> xrange() renamed to range(), so range() will no longer produce a list >>> but an iterable yielding integers when iterated over. >> >> Python 3.0 will use xrange() by default, but it is then named range(), >> so from that _I_ conclude that xrange() should be used by default. You >> can also see the difference by using 2to3: >> >> """ >> for i in range(10): print i >> for i in xrange(10): print i >> """ >> >> gets converted to: >> >> """ >> for i in range(10): print i >> for i in range(10): print i >> """ >> >> That is, because 2to3 is a clever program. But: >> >> """ >> a = range(10) >> b = xrange(10) >> for i in a: print i >> for i in b: print i >> """ >> >> gets converted to >> >> """ >> a = list(range(10)) >> b = range(10) >> for i in a: print(i) >> for i in b: print(i) >> """ >> >> ;-) >> >> As you said, it's only a minimal advantage and 2to3 is a clever code!!! >> > > I am glad you brought the above to my attention--it completely changes > my point of view. It does appear that changing to xrange now, whenever > it will work (that is, when one does not *need* a list) will make the > transition to Python 3 more efficient and has no disadvantage with > present code. > >> >> (THE IMPORTANT POINT) >> >> But this brings me to another, more important point: In the axes hist() >> method, a keyword named "range" is used that is passed to the numpy >> histogram() function, which has the kwarg 'range'. Now, this is not a >> problem as long as the range() builtin function is not used in the >> hist() method. But there are a few loops in this method that use >> xrange(), so this code will be translated to range() in py3 -- and that >> will be a problem. A basic example with a pseudo-code: >> The histogram function contains the code for the old behaviour and the new behaviour side by side. Now only the old behaviour uses xrange, while the new behaviour uses numpy's arange. The old behaviour will be gone altogether in release 1.4. >> """ >> def foo(x, range=(1,10)): >> print range >> for i in xrange(x): print i >> foo(10) >> """ >> >> with 2to3 --> >> >> """ >> def foo(x, range=(1,10)): >> print(range) >> for i in range(x): print(i) >> foo(10) >> """ >> which then fails. >> >> One solution would be to use a different keyword argument, maybe >> "binrange" instead of "range" and to throw a deprecated warning for the >> old keyword ??? >> > > Yes, I think the use of any builtin as a kwarg is a bug that should be > squashed via a new kwarg with a deprecation. Similarly, use of any > builtin as in internal variable should be considered a latent bug and fixed. > > Unfortunately, in this case, the badly-named kwarg is in numpy.histogram > as well. The best thing would be to try to get the same change made in > numpy so that mpl hist and numpy.histogram kwargs would stay in sync. > > To make matters worse, histogram has evolved in such a way that its > kwargs are a confusing mess. It is too bad that when the "new" syntax > was developed, the "range" kwarg was not changed at the same time. Indeed. > I don't know whether any more changes would be accepted now. I would oppose any change to histogram calling convention that does not fix a critical bug. I agree that using a built-in name as an argument is a bug, but I believe it is the lesser evil compared to asking users to change their code again. I've added a note in numpy ticket 797 suggesting that a py3k compatible numpy version should have the old behaviour removed to avoid the name clash. Thanks for bringing this up, Regards, David > If there is to be a new kwarg, I think I would call it "cliprange", > since it is essentially used to clip the input--unless "new" is not > True. It is not really a "bin range", because it can be set > independently of the bins. (I have not traced the code; I am basing my > statement on the docstring, so I could be wrong about what the code > actually does.) > > Eric > >> Manuel >> >>> This implies to me that range is the preferred form, and xrange is >>> intended to go away. >>> >>> Eric >>> >> [...snip...] >> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >
On Mon, Oct 20, 2008 at 7:51 AM, Lee Kamentsky <le...@br...> wrote: > Hi all, > I've submitted a patch to > matplotlib/lib/matplotlib/backends/backend_wx.py on the bug tracker > (http://sourceforge.net/tracker2/?func=detail&aid=2166139&group_id=80706&atid=560722 > ). I'd appreciate feedback on it and am looking forward to the > functionality making it into an upcoming release. > > Briefly, the patch fixes a bug when running under Windows and implements > draw_image for the backend. We'll be happy to take a look at this, but since we are trying to figure out whether we should keep backend_ex at all, could you tell us why you prefer or require backend wx over wxagg? Thanks, JDH
Hi all, I've submitted a patch to matplotlib/lib/matplotlib/backends/backend_wx.py on the bug tracker (http://sourceforge.net/tracker2/?func=detail&aid=2166139&group_id=80706&atid=560722 ). I'd appreciate feedback on it and am looking forward to the functionality making it into an upcoming release. Briefly, the patch fixes a bug when running under Windows and implements draw_image for the backend. Thanks, Lee Kamentsky
The current patch looks good to me... it satisfies all the use cases I had in mind, and I can't think of much else that would be wanted. Thanks! I also very much like the idea of the "sizebar," although that's probably a substantially larger job to implement. I may look into it though, time permitting... On Sat, Oct 18, 2008 at 7:04 PM, Jae-Joon Lee <lee...@gm...> wrote: >> To help clarify the original purpose of "update_from": I wrote this >> method when writing the original legend implementation so the legend >> proxy objects could easily copy their style attributes from the >> underlying objects they were a proxy for (so not every property is >> copied, eg the xdata for line objects is not copied). So the >> operating question should be: what properties do I need to copy to >> make the legend representation of the object. While you are in >> there, perhaps you could clarify this in the docstrings of the >> update_from method. > > Thanks for clarifying this, John. > > Manuel, > The patch looks good to me. We may submit the patch (I hope Erik is > okay with the current patch) and it would be great if you handle the > submission. > > -JJ > > > > > > On Fri, Oct 17, 2008 at 9:45 PM, Manuel Metz <mm...@as...> wrote: >> Jae-Joon Lee wrote: >>> Thanks Manuel. >>> >>> Yes, we need rotation value and etc, but my point is, do we need to >>> update it within the update_from() method? Although my preference is >>> not to do it, it may not matter much as far as we state what this >>> method does clearly in the doc. >> >> Okay, it's probably better to create the object correctly (numsides ...) >> instead of copying the properties (see also JDHs mail !) >> >>> And, in your patch, I don't think updating the numsides value has any >>> effect as it does not recreate the paths. >>> >>> I'm attaching the revised patch. In this patch, update_from() only >>> update gc-related properties. And numsides, size, and rotations are >>> given during the object creation time. >> >> Yes, this looks better. But creating handle_sizes is a little bit too >> much effort. This is done internally. It will do passing a sizes list, >> that may or may not be shorter/longer than numpoints (see revised patch). >> >> I also changed the way the yoffsets are updated in _update_positions(). >> >> One additional thing I have in mind (for a later time) is a "sizesbar" >> similar to a colorbar where you can read off values corresponding to >> marker sizes... >> >> Cheers, >> Manuel >> >>> Erik, >>> I see your points. My main concern is that the yoffsets makes the >>> results a bit funny when numpoints is 2. The attached patch has a >>> varying sizes of [0.5*(max+min), max, min]. The yoffsets are only >>> introduced when numpints > 2 and you can also provide it as an >>> optional argument. >>> >>> Regards, >>> >>> -JJ >>> >>> >>> On Thu, Oct 16, 2008 at 8:43 PM, Manuel Metz <mm...@as...> wrote: >>>> Manuel Metz wrote: >>>>> Jae-Joon Lee wrote: >>>>>> Hi Manuel, >>>>>> >>>>>> I think it is a good to introduce the update_from method in Collections. >>>>>> But, I'm not sure if it is a good idea to also update sizes, paths and >>>>>> rotation (in RegularPolyCoolection). My impression is that update_from >>>>>> method is to update gc related attributes. For comparison, >>>>>> Patch.update_from() does not update the path. >>>>> That's exactly the point why I wasn't fully happy with the patch. The >>>>> path is generated by the _path_generator, so instead of copying the path >>>>> it seems to be better to create an instance of the corresponding class >>>>> (e.g. the StarPolygonCollection class, as suggested before). >>>>> >>>>> One should update the rotation attribute (!!); it's only one number. A >>>>> '+' marker, for example, has rotation = 0, whereas a 'x' marker has >>>>> rotation=pi/4. That's the only difference between those two ! >>>>> >>>>>> Also, is it okay to update properties without checking its length?. It >>>>>> does not seem to cause any problems though. >>>>> It's in principal not a problem to copy the sizes attribute without >>>>> checking the length. If it's shorter the the number of items the sizes >>>>> are repeated; if it's longer it gets truncated. >>>>> >>>>> mm >>>>> >>>>>> I guess It would better to use xdata_markers than xdata in the >>>>>> get_handle() method. The difference is when numpoints==1. Using xdata >>>>>> gives two marker points. >>>>>> >>>>>> I was actually about to to commit my patch. I'll try to account your >>>>>> changes and post my version of patch later today. >>>>>> >>>>>> Regards, >>>>>> >>>>>> -JJ >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Oct 15, 2008 at 4:07 PM, Manuel Metz <mm...@as...> wrote: >>>>>>> hmm >>>>>>> >>>>>>> -------- Original Message -------- >>>>>>> Jae-Joon Lee wrote: >>>>>>>>> - the parameter numpoints should be used (it's ignored right now) >>>>>>>>> >>>>>>>> Thanks Manuel. I guess we can simply reuse xdata_marker for this purpose. >>>>>>>> >>>>>>>> >>>>>>>>> - Some private variables are accessed and a new RegularPolycollection is >>>>>>>>> created (does this work eg. with a StarPolygonCollection? I haven't >>>>>>>>> checked, but I don't think so !). Instead of creating a new >>>>>>>>> RegularPolyCollection it might be more useful to make a copy of the >>>>>>>>> existing object... I was thinking about a update_from() method for the >>>>>>>>> Collection class(es) similar to update_from() for lines. >>>>>>>>> >>>>>>>> By changing "RegularPolyCoolection" to "type(handles)", it works for >>>>>>>> StarPolygonCollection. >>>>>>>> >>>>>>>> In Erik's current implementation, the markers in the legend have >>>>>>>> varying colors, sizes, and y offsets. >>>>>>>> The color variation seems fine. But do we need to vary the sizes and >>>>>>>> y-offsets? My inclination is to use a fixed size (median?) and a fixed >>>>>>>> y offset. How does Erik and others think? >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> -JJ >>>>>>> Attached is my current version of the patch. I've moved all of the >>>>>>> properties-copying stuff to collections, which makes the changes >>>>>>> legend.py more clearer (but I'm not fully happy with the patch and >>>>>>> haven't commit anything yet) >>>>>>> >>>>>>> mm >>>>>>> >>>> Hi Jae-Joon, >>>> so here is my revised version of the patch. What do you think ? >>>> >>>> Manuel >>>> >>>> >> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >
John Hunter wrote: > On Sat, Oct 18, 2008 at 8:34 AM, Manuel Metz <mm...@as...> wrote: >> With a clear checkout building the docs fails: >> >> [...] >> Sphinx v0.4.2, building html >> trying to load pickled env... not found >> building [html]: targets for 348 source files that are out of date >> updating environment: 348 added, 0 changed, 0 removed >> reading... api/afm_api api/artist_api Exception occurred: >> File "/usr/lib/python2.5/shutil.py", line 51, in copyfile >> fsrc = open(src, 'rb') >> IOError: [Errno 2] No such file or directory: >> '../mpl_examples/pylab_examples/findobj_demo.py' >> The full traceback has been saved in /tmp/sphinx-err-X12gbJ.log, if you >> want to report the issue to the author. >> Please also report this if it was a user error, so that a better error >> message can be provided next time. >> Send reports to sph...@go.... Thanks! >> Building HTML failed. > > I was gettin a similar error on one platform, but not on another, > though I was using clean svn dirs for the build in each one. I > guessed it might be related to sphinx version I was using for the > build, and when I upgraded sphinx to 0.5 (svn HEAD actually) on the > broken platform I got a working doc build. Give it a try, > > JDH Ah okay - thanks John. It was working before with sphinx 0.4.2 (on Ubuntu 8.10b). Now, after upgrading to sphinx 0.5 trunk it works again. mm