Thomas,

Thanks for the smaller example. I would have come up with one, but I 
wasn't sure what was causing it to begin with.

Is there anything to be done to prevent this? Just use another backend?

Steven

On 4/6/15 8:47 PM, Thomas Caswell wrote:
> This is probaly due to issues with not all of the vector backends 
> supporting alpha gracefully.
>
> This can be reproduced more simply by
>
> x, y = np.ogrid[-5:5:.1, -5:5:.1]
> dd = np.exp(-(x**2 + y**2))
> dd[dd < .1] = np.nan
>
> fig, ax = plt.subplots()
> ax.imshow(dd, interpolation='none', cmap='gray_r')
> plt.savefig('test.pdf')
>
> @steven In the future it is best to report bugs with minimal 
> copy-paste able examples.
>
> On Mon, Apr 6, 2015 at 5:41 PM Steven Boada <bo...@physics.tamu.edu 
> <mailto:bo...@physics.tamu.edu>> wrote:
>
>     Getting some strange artifacts when I save a figure as a PDF in
>     matplotlib. Here are some screen shots. PDF
>     <http://imgur.com/oQDXkWn> and PNG <http://imgur.com/bCw3Fn4>. Any
>     idea why that is happening?
>
>     Here is (most of) the source code that makes the plot. I stripped
>     out the data generation, because it is long and involved, and
>     doesn't really matter. Basically what the script is supposed to do
>     is make a scatter plot where the density is below some threshold,
>     and a 2d histogram when it is above that threshold. The code seems
>     to work fine, but when I save the figure (using savefig in
>     Ipython) it shows up funny.
>
>     Thanks.
>
>         import pylab as pyl
>
>         bins = [50,50]
>         thresh = 3
>
>         xdat = #generate or load some data
>         ydat = #generate or load some data
>
>         hh, locx, locy = pyl.histogram2d(xdat, ydat,
>     range=[[-1,4],[-26,-10]], bins=bins)
>         posx = pyl.digitize(xdat, locx)
>         posy = pyl.digitize(ydat, locy)
>
>         # finds the bins which contain points. posx = 0 for points
>     outside "range"
>         ind = (posx > 0) & (posx <= bins[0]) & (posy > 0) & (posy <=
>     bins[1])
>         # values of histogram with points in the bins.
>         hhsub = hh[posx[ind] - 1, posy[ind] - 1]
>
>         xdat1 = xdat[ind][hhsub < thresh] # low density points
>         ydat1 = ydat[ind][hhsub < thresh]
>         hh[hh < thresh] = pyl.nan # fill the areas with low density by
>     NaNs
>
>         pyl.scatter(xdat1, ydat1, s=20, c='0.8')
>         pyl.imshow(pyl.log10(hh.T), cmap='gray_r',
>             extent=pyl.array([[-1,4],[-26,-10]]).flatten(),
>     interpolation='none')
>
>         pyl.show()
>
>     -- 
>
>     Steven Boada
>
>     Doctoral Student
>     Dept of Physics and Astronomy
>     Texas A&M University
>     bo...@physics.tamu.edu  <mailto:bo...@physics.tamu.edu>
>
>     
> ------------------------------------------------------------------------------
>     BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
>     Develop your own process in accordance with the BPMN 2 standard
>     Learn Process modeling best practices with Bonita BPM through live
>     exercises
>     http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
>     event?utm_
>     
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________
>     Matplotlib-users mailing list
>     Matplotlib-users@lists.sourceforge.net
>     <mailto:Matplotlib-users@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

-- 

Steven Boada

Doctoral Student
Dept of Physics and Astronomy
Texas A&M University
bo...@physics.tamu.edu


------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to