From: Phil E. <pel...@gm...> - 2012-10-30 09:15:23
|
Thanks for making this so easy to reproduce. It is so much easier when there is a small, self contained, correct example! Initially I was thinking that the problem was some kind of snapping issue with the ticks, but it turns out, if you change the interpolation scheme to "none", you get perfect alignment: import numpy as np import matplotlib.pyplot as plt n = 16 fig = plt.figure(figsize=(10,10)) Z = np.zeros((n, n)) Z[::2, ::2] = 1 Z[1::2, 1::2] = 1 # pick the interpolation you want: interp = 'nearest' interp = 'none' plt.imshow(Z, interpolation=interp, cmap='gray', extent=[0, n, 0, n], alpha=0.25) plt.xticks(np.arange(n)) plt.yticks(np.arange(n)) plt.grid(ls='solid') plt.show() I haven't considered where to go from this point, but I wanted to let you know about this option. Thanks, Phil On 30 October 2012 07:10, Nicolas Rougier <Nic...@in...> wrote: > > > Sorry, I was too fast in my reply. > > When I save the figure, the png output is ok while the pdf is displaying > some kind of interpolation with the image. > > import numpy as np > import matplotlib > matplotlib.use('Agg') > import matplotlib.pyplot as plt > > n = 16 > fig = plt.figure(figsize=(6,6)) > Z = np.array(([0,1]*(n//2) + [1,0]*(n//2))*(n//2)).reshape(n,n) > plt.imshow(Z, interpolation='none', cmap=plt.cm.gray, extent=[0,n,0,n], > alpha=.25) > plt.xticks(np.arange(0,n), []) > plt.yticks(np.arange(0,n), []) > plt.grid(ls='solid') > plt.savefig('pylab-grid.png') > plt.savefig('pylab-grid.pdf') > plt.show() > > > > > > Just for the record, "Skim", "Preview" and "Adobe Reader" on OSX do not > give the same output on the saved pdf. > "Adobe Reader" displays the expected result (same as saved png) while > "Preview" and "Skim" are apparently trying to make some (bad) interpolation > of the checkboard image. > > > Nicolas > > > On Oct 30, 2012, at 7:52 , Nicolas Rougier wrote: > > > > > > > You're right. Using 'none' interpolation seems to solve the problem. > Good to know ! > > > > One last question, why is the 'none' interpolation restricted to > Agg/PS/pdf ? > > > > > > Nicolas > > > > > > > > On Oct 30, 2012, at 6:53 , Jae-Joon Lee wrote: > > > >> On Tue, Oct 30, 2012 at 12:25 AM, Nicolas Rougier > >> <Nic...@in...> wrote: > >>> > >>> > >>> Thanks for testing. > >>> > >>> If I zoom at any line cross, the lines are definitely at the wrong > place for me. > >> > >> As jules hummon commented, I see lines in right places when I zoom in. > >> > >>> As for screen aliasing I'm not sure since both the png and pdf seems > to be wrong in my case. > >> > >> It still can be some aliasing-related issue. Note that with > >> interpolation="nearest", the images are rasterized with given dpi even > >> if you save the figure as pdf. > >> The agg backend tries to adjust the location of lines and images so > >> that they are well-aligned with the pixels, and the issue seems to be > >> related with that behavior. > >> > >> In my case, using interpolation="none" worked out okay. So give it a > try. > >> > >> Regards, > >> > >> -JJ > >> > >> > >>> Weird ! > >>> > >>> > >>> Nicolas > >>> > >>> > >>> On Oct 29, 2012, at 15:40 , jules hummon wrote: > >>> > >>>> Nicolas > >>>> > >>>> I get that too, (with your script and various things in my work). > >>>> But if you zoom in, the lines are in the right place. Is it > >>>> some kind of screen aliasing? > >>>> > >>>> Jules > >>>> > >>>> > ------------------------------------------------------------------------------ > >>>> The Windows 8 Center - In partnership with Sourceforge > >>>> Your idea - your app - 30 days. > >>>> Get started! > >>>> http://windows8center.sourceforge.net/ > >>>> > what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/ > >>>> _______________________________________________ > >>>> Matplotlib-devel mailing list > >>>> Mat...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > >>> > >>> > >>> > ------------------------------------------------------------------------------ > >>> The Windows 8 Center - In partnership with Sourceforge > >>> Your idea - your app - 30 days. > >>> Get started! > >>> http://windows8center.sourceforge.net/ > >>> > what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/ > >>> _______________________________________________ > >>> Matplotlib-devel mailing list > >>> Mat...@li... > >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > > > > ------------------------------------------------------------------------------ > > Everyone hates slow websites. So do we. > > Make your web apps faster with AppDynamics > > Download AppDynamics Lite for free today: > > http://p.sf.net/sfu/appdyn_sfd2d_oct > > _______________________________________________ > > Matplotlib-devel mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > |