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
(4) |
3
|
4
(2) |
5
(2) |
6
(4) |
7
(1) |
8
(3) |
9
(3) |
10
|
11
(3) |
12
(1) |
13
(8) |
14
(3) |
15
(1) |
16
(2) |
17
(2) |
18
(4) |
19
|
20
(2) |
21
(1) |
22
(3) |
23
|
24
|
25
|
26
|
27
(4) |
28
(4) |
29
(8) |
30
|
31
|
|
|
|
|
|
|
On Saturday, July 16, 2011, OC <oc-...@la...> wrote: > Hello, > > scientific notation is not available in 3D axes with matplotlib 1.0.1. > > When the ScalarFormatter uses scientific notation, the exponent is > indicated at the end of the axis for 2D graphics, but in 3D graphics > this exponent is simply forgotten. > > I think the file mpl_toolkits/mplot3d/axis3d.py should call > scalarFormatter.get_offset() and display the result somewhere. > > Best regards, > > O.C. > This has been fixed already and will be in the upcoming v1.1.0 release. > PS: The matplotlib web page mentions a bug tracker, but it's not > available to me ("Error - The Tracker has been disabled for this group"). > > We now use github for our issue tracking. Ben Root
Hi, I will be on vacation with limited email from July 14 to August 7, 2011. Bonjour, Je serai en conge du 14 juillet jusqu'au 7 aout, 2011.
Hello, scientific notation is not available in 3D axes with matplotlib 1.0.1. When the ScalarFormatter uses scientific notation, the exponent is indicated at the end of the axis for 2D graphics, but in 3D graphics this exponent is simply forgotten. I think the file mpl_toolkits/mplot3d/axis3d.py should call scalarFormatter.get_offset() and display the result somewhere. Best regards, O.C. PS: The matplotlib web page mentions a bug tracker, but it's not available to me ("Error - The Tracker has been disabled for this group").
Greetings, Recently I came across what I think is a bug in how axes_grid1.ImageGrid creates colorbars of irregularly spaced intervals. The colorbar itself is created fine, but the tick mark labels are incorrect. However, when creating the same plot outside of ImageGrid, the colorbar's tick mark labels are created correctly. Is this actually a bug, or have I completely missed something? I have a sample script that demonstrates the problem here: https://gist.github.com/1086530 I have created an issue here: https://github.com/matplotlib/matplotlib/issues/402 --- Patrick Marsh Ph.D. Student / Liaison to the HWT School of Meteorology / University of Oklahoma Cooperative Institute for Mesoscale Meteorological Studies National Severe Storms Laboratory http://www.patricktmarsh.com
On Wed, Jul 13, 2011 at 1:58 PM, Benjamin Root <ben...@ou...> wrote: > I would love to find out if there is some way to embed a video using sphinx have a look at the sources for: http://fperez.org/talks Cheers, f
On Wed, Jul 13, 2011 at 1:58 PM, Benjamin Root <ben...@ou...> wrote: > > Most documentation work that seems to remain are Animation module (and I > would love to find out if there is some way to embed a video using sphinx) Just following up on this statement I have made. I did find an extension module (MIT-licensed) that would allow one to embed YouTube video links in the sphinx docs. Maybe we might want to create a matplotlib account on youtube and make various animations available through that? http://countergram.com/youtube-in-rst Ben Root
On 07/14/2011 07:33 AM, Martin Teichmann wrote: > Hello List, > Hello Michael, Hello Jae-Joon, > > Michale wrote: >> It looks like overriding "draw_unsampled_image" is the wrong thing to do >> here, though. > JJ wrote: >> Overriding this behavior (which I guess is the case of you current ShearImage >> implementation. Please correct me if I'm wrong) won't be acceptable. > > I don't know where to go from here. We could: > > - make make_image actually draw the image. This would be a break in > the API. > - introduce a new method (_draw_sampled_image seems like a good name) > that does that. That indirectly changes the API since make_image won't > be called anymore, overriding it doesn't make a difference anymore. I think either of these is ok. make_image is not really in the public API anyway -- I know it doesn't have a preceding underscore, but I think this code may predate that convention. If you add _draw_sampled_image, I would remove make_image to eliminate confusion. > - Rewrite matplotlib from scratch in Java (just kidding) We generally, consider patches in first-come-first-serve order, so I would recommend taking whichever approach could be completed sooner ;) Cheers, Mike -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA
Hello List, Hello Michael, Hello Jae-Joon, Michale wrote: > It looks like overriding "draw_unsampled_image" is the wrong thing to do > here, though. JJ wrote: > Overriding this behavior (which I guess is the case of you current ShearImage > implementation. Please correct me if I'm wrong) won't be acceptable. I was (and am) aware of this problem, this is what I meant when I wrote "I should have overridden make_image". That's exactly the point: there are two ways to make the image: one using Agg and fancy interpolations, the other one to use the backend and have the interpolation "none". The former is done by make_image, the latter by _draw_unsampled_image. It would have been correct for me to override make_image, unfortunately this was not possible since make_image only makes the image, it is then drawn by _AxesImageBase.draw, which unfortunately is not flexible enough, as it does not allow for the image to be drawn elsewhere than the origin of the axes, which is not necessarily what I want. This is why I abused _draw_unsampled_image. I am aware that this is an abuse, but my code was only inteded as demonstration code. I don't know where to go from here. We could: - make make_image actually draw the image. This would be a break in the API. - introduce a new method (_draw_sampled_image seems like a good name) that does that. That indirectly changes the API since make_image won't be called anymore, overriding it doesn't make a difference anymore. - Rewrite matplotlib from scratch in Java (just kidding) I'm looking forward to your ideas. Greetings Martin -- Fachbereich Physik Freie Universität Berlin Arnimallee 14 14195 Berlin +49 30 6392 1234
On 07/13/2011 10:20 AM, Paul Ivanov wrote: > Eric Firing, on 2011年07月13日 09:54, wrote: >> ipython has moved to github for their homepage and documentation, but as >> far as I can see, github has no facility for hosting downloads; the >> ipython tarballs are on scipy.org. > > They are on scipy, github, and PyPI. Here are the ones for > matplotlib: > > https://github.com/matplotlib/matplotlib/downloads I don't know how I missed the "Downloads" button on the RHS of https://github.com/matplotlib/matplotlib. It looks like we would need a much larger space allocation to include all the binary distributions. > > >> Question: simply abandon v1.0.x-maint without a release? > > this makes sense to me. let's just make sure there's nothing > there that never made it into trunk, but should have. Fine with me, also. Eric
Hi, I will be on vacation with limited email from July 14 to August 7, 2011. Bonjour, Je serai en conge du 14 juillet jusqu'au 7 aout, 2011.
Eric Firing, on 2011年07月13日 09:54, wrote: > ipython has moved to github for their homepage and documentation, but as > far as I can see, github has no facility for hosting downloads; the > ipython tarballs are on scipy.org. They are on scipy, github, and PyPI. Here are the ones for matplotlib: https://github.com/matplotlib/matplotlib/downloads > Question: simply abandon v1.0.x-maint without a release? this makes sense to me. let's just make sure there's nothing there that never made it into trunk, but should have. best, -- Paul Ivanov 314 address only used for lists, off-list direct email at: http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7
On Wed, Jul 13, 2011 at 2:54 PM, Eric Firing <ef...@ha...> wrote: > As I recall, John had time to help in June, but less after that. I > don't think we ever reached an agreement as to schedule. It simply went > into slide mode. I am back from my vacation so I have time again. I figured since I was leaving and people were making fantastic progress on pull requests and tickets that it was best to wait. But I'm available now to help with the release. >> Most documentation work that seems to remain are Animation module (and I >> would love to find out if there is some way to embed a video using >> sphinx) and the release-related documentation such as "what's new". >> Also, do we plan to now host the documentation and downloads on github, >> or are we still sticking with sourceforge for that? > > ipython has moved to github for their homepage and documentation, but as > far as I can see, github has no facility for hosting downloads; the > ipython tarballs are on scipy.org. No strong opinions here. It probably makes sense to move as much stuff to github as possible now that the issue tracker has been moved, but the sf download stuff is pretty good now and I haven't investigated whether github offers equivalents. Also, our donations are processed through sf and they are non-negligible. I found this old post on github about accepting donations https://github.com/blog/57-getting-paid-the-open-source-way; not sure if this is still current. >> This looks to be a very nice release! > > Question: simply abandon v1.0.x-maint without a release? I would say yes here -- we can leave the branch around for a while in case there is a reason to cut a release from it, but I don't think it makes sense to do a release of the branch otherwise.
On 07/13/2011 08:58 AM, Benjamin Root wrote: > Just wondering if there is any sort of agreement/target for cutting a > v1.1.0 release? I think we are very close. Most of what I see that > needs to be done are documentation-related (and I want to add a > can_pan() function to mirror the can_zoom() function). I think the last chunk of discussion is here: http://www.mail-archive.com/mat...@li.../msg08276.html As I recall, John had time to help in June, but less after that. I don't think we ever reached an agreement as to schedule. It simply went into slide mode. > > Most documentation work that seems to remain are Animation module (and I > would love to find out if there is some way to embed a video using > sphinx) and the release-related documentation such as "what's new". > Also, do we plan to now host the documentation and downloads on github, > or are we still sticking with sourceforge for that? ipython has moved to github for their homepage and documentation, but as far as I can see, github has no facility for hosting downloads; the ipython tarballs are on scipy.org. > > This looks to be a very nice release! Question: simply abandon v1.0.x-maint without a release? Eric > Ben Root >
Just wondering if there is any sort of agreement/target for cutting a v1.1.0 release? I think we are very close. Most of what I see that needs to be done are documentation-related (and I want to add a can_pan() function to mirror the can_zoom() function). Most documentation work that seems to remain are Animation module (and I would love to find out if there is some way to embed a video using sphinx) and the release-related documentation such as "what's new". Also, do we plan to now host the documentation and downloads on github, or are we still sticking with sourceforge for that? This looks to be a very nice release! Ben Root
I'm starting to get a better sense of the code now. One of the features of the current implementation is that images are resampled before going into the output of the vector backends, so that we can a) control file size and b) control the interpolation algorithm used. It looks like that separation is maintained with this approach, only difference is that images can be both prerotated as well as prescaled now. Is that correct? (I must admit, I've work on bits and pieces of the image code at the edges, but I don't understand it in great detail). It looks like overriding "draw_unsampled_image" is the wrong thing to do here, though. The purpose of that function is to draw an image in a vector backend without any resampling at all -- and here you seem to be adding that. It also only gets called when interpolation is "none" or "nearest", so your helpful changes currently don't work with other forms of interpolation. I think we need to either add a function "_draw_sampled_image", or modify make_image so it returns an offset with the new location to draw the image (because rotation may cause the bounds of the image to be shifted). This is great work, and is looking to be fairly significant. Would you be able to set up a personal git fork and branch for you work? It would make it easier for the rest of us to evaluate what you have done and kick the tires a bit. The outline of how to do this is here: http://matplotlib.sourceforge.net/devel/gitwash/index.html Cheers, Mike On 07/12/2011 06:01 AM, Martin Teichmann wrote: > Dear List, > dear Michael, > >> Looks good. Does matplotlib still pass all regression tests with this >> change? > It does pass all regression tests that were passed with the git version > I started with. (There were 10 failures which are still there). > > In the meantime, I also wrote a class that already uses my extension. > With it, you can plot rotated or sheared images with all backends. > (There were some quirks to get sheard images on some backends, > see examples/api/demo_affine_image.py, but it worked on some backends > only). > > While writing it, I found some inconsistencies in matplotlib: > > - bounding boxes are not correctly transformed. BboxBase.tranformed only > transformes the outer points of a bounding box, if you rotate it, this will give > wrong results for several angles. I wrote a function that should be correct for > all affine transformations: > > def transform_bbox(bbox, trans): > x0, y0, x1, y1 = bbox.extents > tx0, ty0 = trans.transform([x0, y0]) > tx1, ty1 = trans.transform([x1, y1]) > tx2, ty2 = trans.transform([x1, y0]) > tx3, ty3 = trans.transform([x0, y1]) > return Bbox.from_extents(min(tx0, tx1, tx2, tx3), min(ty0, ty1, ty2, ty3), > max(tx0, tx1, tx2, tx3), max(ty0, ty1, ty2, ty3)) > > - The other inconsistency is that within matplotlib, extents are > defined different: > in imshow, the parameter extent expects the order (left, right, bottom, top), > while BboxBase.extents is (left, bottom, right, top). This should be changed in > the future, maybe the move to python 3 is a good time for that? > > But now to my code to draw images. It's a new class inheriting AxesImage, > but is supposed to once replace AxesImage, as it is compatible. > > I'm re-writing _draw_unsampled_image, to actually draw a sampled image. > Thats only because make_image, the method to be rewritten for a sampled > image, is not flexible enough (the caller draws the image, but there is no way > for make_image to tell where that image is to be put). In the future, > the methods > should be renamed (it's a private method, so that's no problem). > > class ShearImage(AxesImage): > def _check_unsampled_image(self, _): > return True > > def _draw_unsampled_image(self, renderer, gc): > """ > actually, draw sampled image. This method is more flexible than > make_image > """ > mag = renderer.get_image_magnification() > trans = Affine2D().scale(mag, mag) + self.get_transform() + \ > self.axes.transData.get_affine() > bbox = self.axes.bbox > viewLim = transform_bbox(bbox, trans.inverted()) > > im, xmin, ymin, dxintv, dyintv, sx, sy = \ > self._get_unsampled_image(self._A, self.get_extent(), viewLim) > > if im is None: return # I'm not if this check is required. -JJL > im.set_interpolation(self._interpd[self._interpolation]) > im.set_resample(self._resample) > > fc = self.axes.patch.get_facecolor() > bg = mcolors.colorConverter.to_rgba(fc, 0) > im.set_bg( *bg) > # uncomment the following line to see the extent to which the image > # is drawn > # im.set_bg(0, 0, 0, 100) > numrows, numcols = im.get_size() > > ex = self.get_extent() > tex = Bbox.from_extents([ex[0], ex[2], ex[1], ex[3]]) > tex = transform_bbox(tex, trans) > if tex.xmin< bbox.xmin: > left = bbox.xmin > tx = 0 > else: > left = tex.xmin > tx = tex.xmin - bbox.xmin > if tex.ymin< bbox.ymin: > bottom = bbox.ymin > ty = 0 > else: > bottom = tex.ymin > ty = tex.ymin - bbox.ymin > trans = Affine2D().scale(dxintv / numcols, > dyintv / numrows).translate(xmin, ymin) + \ > trans + \ > Affine2D().translate(-bbox.xmin - tx, -bbox.ymin - ty) > im.set_matrix(*trans.get_matrix()[:2, :].T.ravel()) > > width = min(tex.xmax, bbox.xmax) - left > height = min(tex.ymax, bbox.ymax) - bottom > if width<= 0 or height<= 0: > return > im.resize(width * mag, height * mag, > norm=self._filternorm, radius=self._filterrad) > > im._url = self.get_url() > > renderer.draw_image(gc, left, bottom, im) > > Last but not least, a little script to test the above. It shows a rotated > image. You can scale and move the image nicely. If you uncomment the > line mentioned above in ShearImage code, you can see where the > image is actually drawn, and you will see that only the necessary parts > are drawn if the image is smaller than the entire axes. > The test script follows: > > from pylab import * > ax = axes() > im = ShearImage(ax) > im.set_data(fromfunction(lambda x, y: sin(x + y ** 2), (100, 100))) > im.set_extent(im.get_extent()) > transform = Affine2D().rotate_deg(30) > im.set_transform(transform) > ax.images.append(im) > show() > > Greetings > > Martin > > ------------------------------------------------------------------------------ > AppSumo Presents a FREE Video for the SourceForge Community by Eric > Ries, the creator of the Lean Startup Methodology on "Lean Startup > Secrets Revealed." This video shows you how to validate your ideas, > optimize your ideas and identify your business strategy. > http://p.sf.net/sfu/appsumosfdev2dev > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
On Tue, Jul 12, 2011 at 7:01 PM, Martin Teichmann <mar...@mb...> wrote: > (There were some quirks to get sheard images on some backends, > see examples/api/demo_affine_image.py, but it worked on some backends > only). I didn't have time to go through your code carefully, but my understanding is that you rely on Agg to get a transformed image (resampled image) and provide that image to backends, right? Note that when interpolation mode is "none", resampling should be prohibited. There is a good reason why we implemented the "none" interpolation mode even though this is not supported for some backends. Overriding this behavior (which I guess is the case of you current ShearImage implementation. Please correct me if I'm wrong) won't be acceptable. Please makes sure that resampling of images only happens when the interpolation mode is not "none". Regards, -JJ
Dear List, dear Michael, > Looks good. Does matplotlib still pass all regression tests with this > change? It does pass all regression tests that were passed with the git version I started with. (There were 10 failures which are still there). In the meantime, I also wrote a class that already uses my extension. With it, you can plot rotated or sheared images with all backends. (There were some quirks to get sheard images on some backends, see examples/api/demo_affine_image.py, but it worked on some backends only). While writing it, I found some inconsistencies in matplotlib: - bounding boxes are not correctly transformed. BboxBase.tranformed only transformes the outer points of a bounding box, if you rotate it, this will give wrong results for several angles. I wrote a function that should be correct for all affine transformations: def transform_bbox(bbox, trans): x0, y0, x1, y1 = bbox.extents tx0, ty0 = trans.transform([x0, y0]) tx1, ty1 = trans.transform([x1, y1]) tx2, ty2 = trans.transform([x1, y0]) tx3, ty3 = trans.transform([x0, y1]) return Bbox.from_extents(min(tx0, tx1, tx2, tx3), min(ty0, ty1, ty2, ty3), max(tx0, tx1, tx2, tx3), max(ty0, ty1, ty2, ty3)) - The other inconsistency is that within matplotlib, extents are defined different: in imshow, the parameter extent expects the order (left, right, bottom, top), while BboxBase.extents is (left, bottom, right, top). This should be changed in the future, maybe the move to python 3 is a good time for that? But now to my code to draw images. It's a new class inheriting AxesImage, but is supposed to once replace AxesImage, as it is compatible. I'm re-writing _draw_unsampled_image, to actually draw a sampled image. Thats only because make_image, the method to be rewritten for a sampled image, is not flexible enough (the caller draws the image, but there is no way for make_image to tell where that image is to be put). In the future, the methods should be renamed (it's a private method, so that's no problem). class ShearImage(AxesImage): def _check_unsampled_image(self, _): return True def _draw_unsampled_image(self, renderer, gc): """ actually, draw sampled image. This method is more flexible than make_image """ mag = renderer.get_image_magnification() trans = Affine2D().scale(mag, mag) + self.get_transform() + \ self.axes.transData.get_affine() bbox = self.axes.bbox viewLim = transform_bbox(bbox, trans.inverted()) im, xmin, ymin, dxintv, dyintv, sx, sy = \ self._get_unsampled_image(self._A, self.get_extent(), viewLim) if im is None: return # I'm not if this check is required. -JJL im.set_interpolation(self._interpd[self._interpolation]) im.set_resample(self._resample) fc = self.axes.patch.get_facecolor() bg = mcolors.colorConverter.to_rgba(fc, 0) im.set_bg( *bg) # uncomment the following line to see the extent to which the image # is drawn # im.set_bg(0, 0, 0, 100) numrows, numcols = im.get_size() ex = self.get_extent() tex = Bbox.from_extents([ex[0], ex[2], ex[1], ex[3]]) tex = transform_bbox(tex, trans) if tex.xmin < bbox.xmin: left = bbox.xmin tx = 0 else: left = tex.xmin tx = tex.xmin - bbox.xmin if tex.ymin < bbox.ymin: bottom = bbox.ymin ty = 0 else: bottom = tex.ymin ty = tex.ymin - bbox.ymin trans = Affine2D().scale(dxintv / numcols, dyintv / numrows).translate(xmin, ymin) + \ trans + \ Affine2D().translate(-bbox.xmin - tx, -bbox.ymin - ty) im.set_matrix(*trans.get_matrix()[:2, :].T.ravel()) width = min(tex.xmax, bbox.xmax) - left height = min(tex.ymax, bbox.ymax) - bottom if width <= 0 or height <= 0: return im.resize(width * mag, height * mag, norm=self._filternorm, radius=self._filterrad) im._url = self.get_url() renderer.draw_image(gc, left, bottom, im) Last but not least, a little script to test the above. It shows a rotated image. You can scale and move the image nicely. If you uncomment the line mentioned above in ShearImage code, you can see where the image is actually drawn, and you will see that only the necessary parts are drawn if the image is smaller than the entire axes. The test script follows: from pylab import * ax = axes() im = ShearImage(ax) im.set_data(fromfunction(lambda x, y: sin(x + y ** 2), (100, 100))) im.set_extent(im.get_extent()) transform = Affine2D().rotate_deg(30) im.set_transform(transform) ax.images.append(im) show() Greetings Martin
ayuffa, on 2011年07月07日 13:54, wrote: > Have your changes to axes.py, namely breakx and breaky, been accepted? If > not, could you post your axes.py file. Here's an example, I'm looking into why it's not making it to the official docs right now, but you should be able to run it locally: https://github.com/matplotlib/matplotlib/blob/master/examples/pylab_examples/broken_axis.py best, -- Paul Ivanov 314 address only used for lists, off-list direct email at: http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7
And the last one: http://www.loria.fr/~rougier/tmp/circle.png http://www.loria.fr/~rougier/tmp/circle.py showing some precise text manipulation (but it is quite slow to display because of the interactive mode. I do not know if it can be made faster). Nicolas On Jul 11, 2011, at 9:33 AM, Nicolas Rougier wrote: > > Another one about radar chart: > > http://www.loria.fr/~rougier/tmp/radar-chart.png > > http://www.loria.fr/~rougier/tmp/radar-chart.py > > > Nicolas > > > > On Jul 9, 2011, at 4:30 PM, Nicolas Rougier wrote: > >> >> Thanks. >> >> Here is another try inspired from: >> http://www.nytimes.com/imagepages/2007/07/29/health/29cancer.graph.web.html >> >> Results >> http://www.loria.fr/~rougier/tmp/diseases.png >> >> >> By the way, the matplotlib gallery (from the website) is incredibly useful when you need to know how to do something quickly, but the lack of organization in the different figures make search sometimes difficult. Maybe a rough structure (1D/2D/3D, plot/bars/imshow ...) in the examples could be even more useful as well as carefully choosing relevant examples (for example, the filledmarker_demo produces 12 figures that are more or less the same) ? >> >> >> >> Nicolas >> >> >> Here is the script: >> >> <diseases-pylab.py> >> >> >> >> On Jul 9, 2011, at 8:45 AM, Chris Petrich wrote: >> >>> I agree, very instructional example. >>> As for the width of the tick lines, line 78 >>> line.set_linewidth(1) >>> should probably read >>> line.set_markeredgewidth(1) >>> though. >>> >>> Chris >>> >>>> Date: Fri, 8 Jul 2011 16:18:52 -0600 >>>> From: G?khan Sever <gok...@gm...> >>>> Subject: Re: [matplotlib-devel] Contributed example >>>> To: Nicolas Rougier <Nic...@in...> >>>> Cc: matplotlib development list >>>> <mat...@li...> >>>> Message-ID: >>>> <CAE...@ma...> >>>> Content-Type: text/plain; charset="utf-8" >>>> >>>> I think this illustration deserves its places amongst the mpl gallery >>>> --probably somewhere towards the very beginning. >>>> >>>> Thanks for the well documented code Nicolas. >>>> On Fri, Jul 8, 2011 at 2:09 AM, Nicolas Rougier <Nic...@in...>wrote: >>>> >>>>> >>>>> >>>>> Hi, >>>>> >>>>> >>>>> I've been playing with matplotlib to check if it can produce graphics like: >>>>> >>>>> >>>>> http://www.thebuzzmedia.com/wp-content/uploads/2010/03/anandtech-nvidia-geforce-480-ati-benchmark2.png >>>>> >>>>> >>>>> Here is the result: >>>>> http://www.loria.fr/~rougier/tmp/benchmark.png >>>>> >>>>> and the script (as attachment) >>>>> >>>>> I do not know if it's worth adding it to examples ? >>>>> >>>>> >>>>> >>>>> Nicolas >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> All of the data generated in your IT infrastructure is seriously valuable. >>>>> Why? It contains a definitive record of application performance, security >>>>> threats, fraudulent activity, and more. Splunk takes this data and makes >>>>> sense of it. IT sense. And common sense. >>>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>>> _______________________________________________ >>>>> Matplotlib-devel mailing list >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>>>> >>>>> >>>> >>>> >>>> -- >>>> G?khan >>>> -------------- next part -------------- >>>> An HTML attachment was scrubbed... >>>> >>>> ------------------------------ >>>> >>>> ------------------------------------------------------------------------------ >>>> All of the data generated in your IT infrastructure is seriously valuable. >>>> Why? It contains a definitive record of application performance, security >>>> threats, fraudulent activity, and more. Splunk takes this data and makes >>>> sense of it. IT sense. And common sense. >>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>> >>>> ------------------------------ >>>> >>>> _______________________________________________ >>>> Matplotlib-devel mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>>> >>>> >>>> End of Matplotlib-devel Digest, Vol 62, Issue 3 >>>> *********************************************** >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2d-c2_______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Another one about radar chart: http://www.loria.fr/~rougier/tmp/radar-chart.png http://www.loria.fr/~rougier/tmp/radar-chart.py Nicolas On Jul 9, 2011, at 4:30 PM, Nicolas Rougier wrote: > > Thanks. > > Here is another try inspired from: > http://www.nytimes.com/imagepages/2007/07/29/health/29cancer.graph.web.html > > Results > http://www.loria.fr/~rougier/tmp/diseases.png > > > By the way, the matplotlib gallery (from the website) is incredibly useful when you need to know how to do something quickly, but the lack of organization in the different figures make search sometimes difficult. Maybe a rough structure (1D/2D/3D, plot/bars/imshow ...) in the examples could be even more useful as well as carefully choosing relevant examples (for example, the filledmarker_demo produces 12 figures that are more or less the same) ? > > > > Nicolas > > > Here is the script: > > <diseases-pylab.py> > > > > On Jul 9, 2011, at 8:45 AM, Chris Petrich wrote: > >> I agree, very instructional example. >> As for the width of the tick lines, line 78 >> line.set_linewidth(1) >> should probably read >> line.set_markeredgewidth(1) >> though. >> >> Chris >> >>> Date: Fri, 8 Jul 2011 16:18:52 -0600 >>> From: G?khan Sever <gok...@gm...> >>> Subject: Re: [matplotlib-devel] Contributed example >>> To: Nicolas Rougier <Nic...@in...> >>> Cc: matplotlib development list >>> <mat...@li...> >>> Message-ID: >>> <CAE...@ma...> >>> Content-Type: text/plain; charset="utf-8" >>> >>> I think this illustration deserves its places amongst the mpl gallery >>> --probably somewhere towards the very beginning. >>> >>> Thanks for the well documented code Nicolas. >>> On Fri, Jul 8, 2011 at 2:09 AM, Nicolas Rougier <Nic...@in...>wrote: >>> >>>> >>>> >>>> Hi, >>>> >>>> >>>> I've been playing with matplotlib to check if it can produce graphics like: >>>> >>>> >>>> http://www.thebuzzmedia.com/wp-content/uploads/2010/03/anandtech-nvidia-geforce-480-ati-benchmark2.png >>>> >>>> >>>> Here is the result: >>>> http://www.loria.fr/~rougier/tmp/benchmark.png >>>> >>>> and the script (as attachment) >>>> >>>> I do not know if it's worth adding it to examples ? >>>> >>>> >>>> >>>> Nicolas >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> All of the data generated in your IT infrastructure is seriously valuable. >>>> Why? It contains a definitive record of application performance, security >>>> threats, fraudulent activity, and more. Splunk takes this data and makes >>>> sense of it. IT sense. And common sense. >>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>> _______________________________________________ >>>> Matplotlib-devel mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>>> >>>> >>> >>> >>> -- >>> G?khan >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> >>> ------------------------------ >>> >>> ------------------------------------------------------------------------------ >>> All of the data generated in your IT infrastructure is seriously valuable. >>> Why? It contains a definitive record of application performance, security >>> threats, fraudulent activity, and more. Splunk takes this data and makes >>> sense of it. IT sense. And common sense. >>> http://p.sf.net/sfu/splunk-d2d-c2 >>> >>> ------------------------------ >>> >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>> >>> >>> End of Matplotlib-devel Digest, Vol 62, Issue 3 >>> *********************************************** > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2_______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Thanks. Here is another try inspired from: http://www.nytimes.com/imagepages/2007/07/29/health/29cancer.graph.web.html Results http://www.loria.fr/~rougier/tmp/diseases.png By the way, the matplotlib gallery (from the website) is incredibly useful when you need to know how to do something quickly, but the lack of organization in the different figures make search sometimes difficult. Maybe a rough structure (1D/2D/3D, plot/bars/imshow ...) in the examples could be even more useful as well as carefully choosing relevant examples (for example, the filledmarker_demo produces 12 figures that are more or less the same) ? Nicolas Here is the script:
I agree, very instructional example. As for the width of the tick lines, line 78 line.set_linewidth(1) should probably read line.set_markeredgewidth(1) though. Chris > Date: Fri, 8 Jul 2011 16:18:52 -0600 > From: G?khan Sever <gok...@gm...> > Subject: Re: [matplotlib-devel] Contributed example > To: Nicolas Rougier <Nic...@in...> > Cc: matplotlib development list > <mat...@li...> > Message-ID: > <CAE...@ma...> > Content-Type: text/plain; charset="utf-8" > > I think this illustration deserves its places amongst the mpl gallery > --probably somewhere towards the very beginning. > > Thanks for the well documented code Nicolas. > On Fri, Jul 8, 2011 at 2:09 AM, Nicolas Rougier <Nic...@in...>wrote: > >> >> >> Hi, >> >> >> I've been playing with matplotlib to check if it can produce graphics like: >> >> >> http://www.thebuzzmedia.com/wp-content/uploads/2010/03/anandtech-nvidia-geforce-480-ati-benchmark2.png >> >> >> Here is the result: >> http://www.loria.fr/~rougier/tmp/benchmark.png >> >> and the script (as attachment) >> >> I do not know if it's worth adding it to examples ? >> >> >> >> Nicolas >> >> >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2d-c2 >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > > > -- > G?khan > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > > ------------------------------ > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > End of Matplotlib-devel Digest, Vol 62, Issue 3 > ***********************************************
On Sun, Jun 26, 2011 at 9:05 PM, Benjamin Root <ben...@ou...> wrote: > On Sunday, June 26, 2011, Warren Weckesser > <war...@en...> wrote: > > > > > > On Sun, Jun 26, 2011 at 7:44 PM, Benjamin Root <ben...@ou...> wrote: > > > > > > On Sunday, June 26, 2011, Carl Karsten <ca...@pe...> wrote: > >> http://matplotlib.sourceforge.net/examples/api/radar_chart.html > >> > >> "Exception occurred rendering plot." > >> > > > > Without more information, we can't help you. What version of > > matplotlib are you using? On what OS? How did you install it? Do the > > tests pass? And which backend? > > > > > > That error is what shows up on the web page when you follow the link. > > > > Warren > > > > > > Ah, indeed it is. I apologize for misunderstanding, what is odd is > that the demo didn't work, but the mpl logo rendered fine. > > Who was it that uploaded the recent rebuild of the docs? > > Ben Root > I just had an epiphany and figured out what is causing this. It looks like that any example that uses the "if __name__ == '__main__' :" idiom is failing to produce an image. Some others that have the same issue are: http://matplotlib.sourceforge.net/examples/api/sankey_demo.html http://matplotlib.sourceforge.net/examples/api/hinton_demo.html http://matplotlib.sourceforge.net/examples/api/logo2.html (it has a link, but no image on the page) http://matplotlib.sourceforge.net/examples/misc/multiprocess.html http://matplotlib.sourceforge.net/examples/pylab_examples/arrow_demo.html and many others (can be found by grepping for "__main__" in the examples folder). On a local build of the docs from master, axes_grid has two demos that also fail to produce images for the docs. They look to be new demos. I wonder if this is being caused (or at least the errors hidden by) the new multiprocessing approach for the doc-build. Anybody have any thoughts on how to deal with this? I consider this a release-stopper. Ben Root
I think this illustration deserves its places amongst the mpl gallery --probably somewhere towards the very beginning. Thanks for the well documented code Nicolas. On Fri, Jul 8, 2011 at 2:09 AM, Nicolas Rougier <Nic...@in...>wrote: > > > Hi, > > > I've been playing with matplotlib to check if it can produce graphics like: > > > http://www.thebuzzmedia.com/wp-content/uploads/2010/03/anandtech-nvidia-geforce-480-ati-benchmark2.png > > > Here is the result: > http://www.loria.fr/~rougier/tmp/benchmark.png > > and the script (as attachment) > > I do not know if it's worth adding it to examples ? > > > > Nicolas > > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > -- Gökhan
On Friday, July 8, 2011, Maximilian Trescher <fa...@tr...> wrote: > Hi, > >> I would avoid drange because >> I believe numpy will soon be implementing such a function and I >> wouldn't want the possible confusion that comes from that. > > what do you mean with "avoiding drange"? You wouldn't use it in your > code? Or do you suggest, matplotlib should not have the function "drange"? > I mean that matplotlib probably shouldn't have drange (although, this is just IMHO). > I have yet another question: Does someone know, why matplotlib.dates > calculates dates in floats, where 1 = 1day? > I think with Long integers without floating point much of the > rounding-issues could be avoided. We are most certainly "doing it wrong" as the current code was merely a hack due to the lack of such features in numpy. The next numpy release should have this, but we will still need the current hacks for a little while longer due to support for previous versions of numpy. Maybe we ought to look into some sort of logic that would utilize numpy's drange if it is available and fall back to ours otherwise? Ben Root