Change in pcolor functionality from 0.99.1.1 to 1.0.0

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

···

On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths <guy.griffiths@…2446…> 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

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

···

On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben.root@...1304...> wrote:

On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths <guy.griffiths@...2446...> > 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.

--
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma

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

···

On Friday 12 Nov 2010 15:20:43 Ryan May wrote:

On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben.root@...1304...> wrote:
> On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths > > <guy.griffiths@...2446...> > > > > 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

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

···

On Mon, Nov 15, 2010 at 4:14 AM, Guy Griffiths <guy.griffiths@…2446…> wrote:

On Friday 12 Nov 2010 15:20:43 Ryan May wrote:

On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben.root@…1304…> wrote:

On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths

<guy.griffiths@…83…2446…>

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

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

···

On Tuesday 16 Nov 2010 15:35:31 Benjamin Root wrote:

On Mon, Nov 15, 2010 at 4:14 AM, Guy Griffiths > > <guy.griffiths@...2446...>wrote:
> On Friday 12 Nov 2010 15:20:43 Ryan May wrote:
> > On Fri, Nov 12, 2010 at 8:40 AM, Benjamin Root <ben.root@...1304...> wrote:
> > > On Fri, Nov 12, 2010 at 5:11 AM, Guy Griffiths > > > > <guy.griffiths@...2446...> > > > > > > > > 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