From: Guy G. <guy...@re...> - 2010-11-12 11:12:04
|
Hi, I've been using matplotlib for a while for plotting scientific data, and recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use pcolor to produce plots of concentration in 2D space. I use reasonably fine meshes, and in v0.99.1.1 the output looked great. In v1.0.0, all of my plots (using the same code) have faint gridlines visible. Since the mesh I am using is quite fine, this makes the plots look terrible (i.e. more gridlines than actual data). This seems to be controlled by the "edgecolors" keyword, but even when set to 'none' they are still there. Is there any way to remove them completely without reverting back to 0.99.1.1 (which I'd prefer not to do, since some of the API changes are really useful for creating very polished graphs suitable for publication)? imshow seems to have closer results to what I want (i.e. no gridlines), but with imshow, the axes denote the pixel position, and there is no option to display on polar axes (which is essential). Any help would be much appreciated. Regards, Guy Griffiths |
From: Benjamin R. <ben...@ou...> - 2010-11-12 14:40:37
|
On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths <guy...@re...>wrote: > Hi, > > I've been using matplotlib for a while for plotting scientific data, and > recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use pcolor > to > produce plots of concentration in 2D space. I use reasonably fine meshes, > and > in v0.99.1.1 the output looked great. > > In v1.0.0, all of my plots (using the same code) have faint gridlines > visible. > Since the mesh I am using is quite fine, this makes the plots look terrible > (i.e. more gridlines than actual data). This seems to be controlled by the > "edgecolors" keyword, but even when set to 'none' they are still there. Is > there any way to remove them completely without reverting back to 0.99.1.1 > (which I'd prefer not to do, since some of the API changes are really > useful > for creating very polished graphs suitable for publication)? > > imshow seems to have closer results to what I want (i.e. no gridlines), but > with imshow, the axes denote the pixel position, and there is no option to > display on polar axes (which is essential). > > Any help would be much appreciated. > > Regards, > > Guy Griffiths > > Guy, I have noticed something similar a few months ago with pcolor, but I am not certain if it is the same problem as yours. First, which backend are you using? Second, are you seeing the grid lines in both the figure window and the saved output? Also, what format are you saving your output to? Lastly, which pcolor function are you using (pcolor(), pcolormesh(), pcolorfast())? If you could include a screenshot or the saved file, I could see if it is similar to my problem. Ben Root |
From: Ryan M. <rm...@gm...> - 2010-11-12 15:21:15
|
On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben...@ou...> wrote: > On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths <guy...@re...> > wrote: >> >> Hi, >> >> I've been using matplotlib for a while for plotting scientific data, and >> recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use pcolor >> to >> produce plots of concentration in 2D space. I use reasonably fine meshes, >> and >> in v0.99.1.1 the output looked great. >> >> In v1.0.0, all of my plots (using the same code) have faint gridlines >> visible. >> Since the mesh I am using is quite fine, this makes the plots look >> terrible >> (i.e. more gridlines than actual data). This seems to be controlled by >> the >> "edgecolors" keyword, but even when set to 'none' they are still there. >> Is >> there any way to remove them completely without reverting back to 0.99.1.1 >> (which I'd prefer not to do, since some of the API changes are really >> useful >> for creating very polished graphs suitable for publication)? >> >> imshow seems to have closer results to what I want (i.e. no gridlines), >> but >> with imshow, the axes denote the pixel position, and there is no option to >> display on polar axes (which is essential). >> >> Any help would be much appreciated. >> >> Regards, >> >> Guy Griffiths >> > > Guy, I have noticed something similar a few months ago with pcolor, but I am > not certain if it is the same problem as yours. First, which backend are > you using? Second, are you seeing the grid lines in both the figure window > and the saved output? Also, what format are you saving your output to? > Lastly, which pcolor function are you using (pcolor(), pcolormesh(), > pcolorfast())? > > If you could include a screenshot or the saved file, I could see if it is > similar to my problem. Yeah, I had noticed a problem with pcolor too. You can see the problem I've been seeing here: http://matplotlib.sourceforge.net/examples/pylab_examples/pcolor_demo.html Calling pcolor with antialiased=False removes the lines, but that's just a workaround, not a solution. I'm not really sure where to start to track this down, so if anyone has a suggestion, I'm all ears. Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma |
From: Guy G. <guy...@re...> - 2010-11-15 10:14:50
|
On Friday 12 Nov 2010 15:20:43 Ryan May wrote: > On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben...@ou...> wrote: > > On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths > > <guy...@re...> > > > > wrote: > >> Hi, > >> > >> I've been using matplotlib for a while for plotting scientific data, and > >> recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use > >> pcolor to > >> produce plots of concentration in 2D space. I use reasonably fine > >> meshes, and > >> in v0.99.1.1 the output looked great. > >> > >> In v1.0.0, all of my plots (using the same code) have faint gridlines > >> visible. > >> Since the mesh I am using is quite fine, this makes the plots look > >> terrible > >> (i.e. more gridlines than actual data). This seems to be controlled by > >> the > >> "edgecolors" keyword, but even when set to 'none' they are still there. > >> Is > >> there any way to remove them completely without reverting back to > >> 0.99.1.1 (which I'd prefer not to do, since some of the API changes are > >> really useful > >> for creating very polished graphs suitable for publication)? > >> > >> imshow seems to have closer results to what I want (i.e. no gridlines), > >> but > >> with imshow, the axes denote the pixel position, and there is no option > >> to display on polar axes (which is essential). > >> > >> Any help would be much appreciated. > >> > >> Regards, > >> > >> Guy Griffiths > > > > Guy, I have noticed something similar a few months ago with pcolor, but I > > am not certain if it is the same problem as yours. First, which backend > > are you using? Second, are you seeing the grid lines in both the figure > > window and the saved output? Also, what format are you saving your > > output to? Lastly, which pcolor function are you using (pcolor(), > > pcolormesh(), pcolorfast())? > > > > If you could include a screenshot or the saved file, I could see if it is > > similar to my problem. > > Yeah, I had noticed a problem with pcolor too. You can see the problem > I've been seeing here: > > http://matplotlib.sourceforge.net/examples/pylab_examples/pcolor_demo.html > > Calling pcolor with antialiased=False removes the lines, but that's > just a workaround, not a solution. I'm not really sure where to start > to track this down, so if anyone has a suggestion, I'm all ears. > > Ryan Hi, Thanks for the help. The problem I'm seeing is as Ryan describes (same effect as in the screenshot, but let me know if you still want me to provide an example), and appears in both the figure window and saved output (at least png and pdf). The backend I am using is Qt/Agg. I was using pcolor(), but it appears that pcolormesh() doesn't (always) have this problem. Setting antialiased=False removes some of the problems. In summary: pcolor(), antialiased=True - lines on screen, png, pdf pcolor(), antialiased=False - lines on pdf, fine on png/screen pcolormesh() - lines on pdf, fine on png/screen Regards, Guy |
From: Benjamin R. <ben...@ou...> - 2010-11-16 15:35:58
|
On Mon, Nov 15, 2010 at 4:14 AM, Guy Griffiths <guy...@re...>wrote: > > On Friday 12 Nov 2010 15:20:43 Ryan May wrote: > > On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben...@ou...> wrote: > > > On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths > > > <guy...@re...> > > > > > > wrote: > > >> Hi, > > >> > > >> I've been using matplotlib for a while for plotting scientific data, > and > > >> recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use > > >> pcolor to > > >> produce plots of concentration in 2D space. I use reasonably fine > > >> meshes, and > > >> in v0.99.1.1 the output looked great. > > >> > > >> In v1.0.0, all of my plots (using the same code) have faint gridlines > > >> visible. > > >> Since the mesh I am using is quite fine, this makes the plots look > > >> terrible > > >> (i.e. more gridlines than actual data). This seems to be controlled > by > > >> the > > >> "edgecolors" keyword, but even when set to 'none' they are still > there. > > >> Is > > >> there any way to remove them completely without reverting back to > > >> 0.99.1.1 (which I'd prefer not to do, since some of the API changes > are > > >> really useful > > >> for creating very polished graphs suitable for publication)? > > >> > > >> imshow seems to have closer results to what I want (i.e. no > gridlines), > > >> but > > >> with imshow, the axes denote the pixel position, and there is no > option > > >> to display on polar axes (which is essential). > > >> > > >> Any help would be much appreciated. > > >> > > >> Regards, > > >> > > >> Guy Griffiths > > > > > > Guy, I have noticed something similar a few months ago with pcolor, but > I > > > am not certain if it is the same problem as yours. First, which > backend > > > are you using? Second, are you seeing the grid lines in both the > figure > > > window and the saved output? Also, what format are you saving your > > > output to? Lastly, which pcolor function are you using (pcolor(), > > > pcolormesh(), pcolorfast())? > > > > > > If you could include a screenshot or the saved file, I could see if it > is > > > similar to my problem. > > > > Yeah, I had noticed a problem with pcolor too. You can see the problem > > I've been seeing here: > > > > > http://matplotlib.sourceforge.net/examples/pylab_examples/pcolor_demo.html > > > > Calling pcolor with antialiased=False removes the lines, but that's > > just a workaround, not a solution. I'm not really sure where to start > > to track this down, so if anyone has a suggestion, I'm all ears. > > > > Ryan > > Hi, > > Thanks for the help. The problem I'm seeing is as Ryan describes (same > effect > as in the screenshot, but let me know if you still want me to provide an > example), and appears in both the figure window and saved output (at least > png > and pdf). The backend I am using is Qt/Agg. I was using pcolor(), but it > appears that pcolormesh() doesn't (always) have this problem. Setting > antialiased=False removes some of the problems. In summary: > > pcolor(), antialiased=True - lines on screen, png, pdf > pcolor(), antialiased=False - lines on pdf, fine on png/screen > pcolormesh() - lines on pdf, fine on png/screen > > Regards, > > Guy > Guy, I found my old bug report on this visual artifact. Oddly enough, the problem for me was with pcolormesh, not with pcolor. There is a script attached to the report that tests 4 combinations of function calls and rasterized=True. Could you see how it turns out for you? Thanks, Ben Root |
From: Guy G. <guy...@re...> - 2010-11-16 15:50:24
|
On Tuesday 16 Nov 2010 15:35:31 Benjamin Root wrote: > On Mon, Nov 15, 2010 at 4:14 AM, Guy Griffiths > > <guy...@re...>wrote: > > On Friday 12 Nov 2010 15:20:43 Ryan May wrote: > > > On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben...@ou...> wrote: > > > > On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths > > > > <guy...@re...> > > > > > > > > wrote: > > > >> Hi, > > > >> > > > >> I've been using matplotlib for a while for plotting scientific data, > > > > and > > > > > >> recently upgraded from version 0.99.1.1 to 1.0.0. Primarily I use > > > >> pcolor to > > > >> produce plots of concentration in 2D space. I use reasonably fine > > > >> meshes, and > > > >> in v0.99.1.1 the output looked great. > > > >> > > > >> In v1.0.0, all of my plots (using the same code) have faint > > > >> gridlines visible. > > > >> Since the mesh I am using is quite fine, this makes the plots look > > > >> terrible > > > >> (i.e. more gridlines than actual data). This seems to be controlled > > > > by > > > > > >> the > > > >> "edgecolors" keyword, but even when set to 'none' they are still > > > > there. > > > > > >> Is > > > >> > > > >> there any way to remove them completely without reverting back to > > > >> 0.99.1.1 (which I'd prefer not to do, since some of the API changes > > > > are > > > > > >> really useful > > > >> for creating very polished graphs suitable for publication)? > > > >> > > > >> imshow seems to have closer results to what I want (i.e. no > > > > gridlines), > > > > > >> but > > > >> with imshow, the axes denote the pixel position, and there is no > > > > option > > > > > >> to display on polar axes (which is essential). > > > >> > > > >> Any help would be much appreciated. > > > >> > > > >> Regards, > > > >> > > > >> Guy Griffiths > > > > > > > > Guy, I have noticed something similar a few months ago with pcolor, > > > > but > > > > I > > > > > > am not certain if it is the same problem as yours. First, which > > > > backend > > > > > > are you using? Second, are you seeing the grid lines in both the > > > > figure > > > > > > window and the saved output? Also, what format are you saving your > > > > output to? Lastly, which pcolor function are you using (pcolor(), > > > > pcolormesh(), pcolorfast())? > > > > > > > > If you could include a screenshot or the saved file, I could see if > > > > it > > > > is > > > > > > similar to my problem. > > > > > > Yeah, I had noticed a problem with pcolor too. You can see the problem > > > > > I've been seeing here: > > http://matplotlib.sourceforge.net/examples/pylab_examples/pcolor_demo.htm > > l > > > > > Calling pcolor with antialiased=False removes the lines, but that's > > > just a workaround, not a solution. I'm not really sure where to start > > > to track this down, so if anyone has a suggestion, I'm all ears. > > > > > > Ryan > > > > Hi, > > > > Thanks for the help. The problem I'm seeing is as Ryan describes (same > > effect > > as in the screenshot, but let me know if you still want me to provide an > > example), and appears in both the figure window and saved output (at > > least png > > and pdf). The backend I am using is Qt/Agg. I was using pcolor(), but > > it appears that pcolormesh() doesn't (always) have this problem. > > Setting antialiased=False removes some of the problems. In summary: > > > > pcolor(), antialiased=True - lines on screen, png, pdf > > pcolor(), antialiased=False - lines on pdf, fine on png/screen > > pcolormesh() - lines on pdf, fine on png/screen > > > > Regards, > > > > Guy > > Guy, > > I found my old bug report on this visual artifact. Oddly enough, the > problem for me was with pcolormesh, not with pcolor. There is a script > attached to the report that tests 4 combinations of function calls and > rasterized=True. Could you see how it turns out for you? > > Thanks, > Ben Root Ben, I've run the script attached to the bug report. The results I got were as follows: PNG - Artifacts on both pcolor() plots, no artifacts on either pcolormesh() plot PDF - Artifacts on pcolor() and pcolormesh() with rasterized=False. Less obvious artifacts on pcolor() with rasterized=True. No artifacts on pcolormesh() with rasterized=True EPS - Artifacts on pcolor() with rasterized=True. All others fine SVG - Artifacts on pcolor() and pcolormesh() with rasterized=False. More obvious artifacts on pcolor() with rasterized=True. No artifacts on pcolormesh() with rasterized=True Hope this is helpful. Cheers, Guy |