Re: [Matplotlib-users] mpl 1.3 & xkcd
> In the process, I also skimmed the 1.3 release notes. What's this? How > was it that I missed the new xkcd style??? Did you know about http://matplotlib.org/xkcd/gallery.html > > I don't know who is responsible for your marketing, but they clearly > need to blanket the world with press releases about this new > functionality. This could be the "killer app" for matplotlib. It has been on frontage of nbviewer for quite some time though, and if you are interested on historical reason on how/when it was created, I suggest you to read http://nbviewer.ipython.org/url/jakevdp.github.com/downloads/notebooks/XKCD_plots.ipynb or http://jakevdp.github.io/blog/2012/10/07/xkcd-style-plots-in-matplotlib/ (highly advise to read jake blog in any case) -- Matthias -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] mpl 1.3 & xkcd
At work both mpl 1.1 and mpl 1.2 are installed. (I have no idea why.) Vagaries of our current packaging cause problems (import finds 1.1 before 1.2 in sys.path). The question was what to do. I took a look at the latest What's New document and concluded that removing 1.1 would be the best route. In the process, I also skimmed the 1.3 release notes. What's this? How was it that I missed the new xkcd style??? I mentioned this in my reply about the 1.1/1.2 internecine conflict. Almost immediately, I got two responses: "I always preferred GNUplot over matplotlib until I heard there was an xkcd mode in matplotlib." - Vic "I don't use matplotlib but all of a sudden I have the urge to plot something JUST to use the xkcd plotting format." Mark I don't know who is responsible for your marketing, but they clearly need to blanket the world with press releases about this new functionality. This could be the "killer app" for matplotlib. I can't wait until we see xkcd-style plots in "Science" or "The Astrophysical Journal". :-) Skip -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Choosing optimal figure width/height automatically
Would something like this suit your needs ? import matplotlib.pyplot as plt # Image size width,height = 640,480 # Pixel border around image border = 1 dpi = 72.0 figsize= (width+2*border)/float(dpi), (height+2*border)/float(dpi) fig = plt.figure(figsize=figsize, dpi=dpi, facecolor="white") hpixel = 1.0/(width+2*border) vpixel = 1.0/(height+2*border) ax = fig.add_axes([border*hpixel, border*vpixel, 1-2*border*hpixel, 1-2*border*vpixel]) ax.set_xlim(0, width) ax.set_ylim(0, height) plt.show() Nicolas On Oct 17, 2013, at 4:16 PM, Christoph Groth wrote: > Benjamin Root writes: > >> I particularly like using the figaspect() function: >> >> (...) >> >> It isn't perfect, but for its simplicity, it gets it mostly right. > > Thanks, Benjamin, for your quick reply. > > Unfortunately, figaspect is only an approximate solution, as it simply > uses the aspect ration of the image for the whole figure (with axes and > labels). > > I wonder how difficult it would be to teach matplotlib to tightly fit > the axes around an image, and, ideally, output the figure cropped. > > > -- > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk > ___ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Choosing optimal figure width/height automatically
> > Unfortunately, figaspect is only an approximate solution, as it simply > uses the aspect ration of the image for the whole figure (with axes and > labels). > > I wonder how difficult it would be to teach matplotlib to tightly fit > the axes around an image, and, ideally, output the figure cropped. > So, you're wanting the image to be displayed pixel-to-pixel, but still have (tight) room for the axes, etc? If so, you can use the "bbox_inches" kwarg to crop "out" and capture the extent of the labels, etc, and just set the figure size to exactly the size of the image. For example: import numpy as np import matplotlib.pyplot as plt dpi = 80 data = np.random.random((100, 100)) height, width = np.array(data.shape, dtype=float) / dpi fig, ax = plt.subplots(figsize=(width, height), dpi=dpi) ax.imshow(data, interpolation='none') fig.savefig('test.png', bbox_inches='tight') If show the figure (i.e. "plt.show()"), the ticklabels, etc will be outside the figure and not shown, but they will be properly saved, regardless. Hope that helps, -Joe > > > > -- > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk > ___ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Choosing optimal figure width/height automatically
Benjamin Root writes: > I particularly like using the figaspect() function: > > (...) > > It isn't perfect, but for its simplicity, it gets it mostly right. Thanks, Benjamin, for your quick reply. Unfortunately, figaspect is only an approximate solution, as it simply uses the aspect ration of the image for the whole figure (with axes and labels). I wonder how difficult it would be to teach matplotlib to tightly fit the axes around an image, and, ideally, output the figure cropped. -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Choosing optimal figure width/height automatically
On Thu, Oct 17, 2013 at 8:20 AM, Christoph Groth wrote: > Hello, > > I'm stuck trying to find a solution to the following problem. > > I'd like to show an array using imshow preserving the 1:1 aspect ratio > of its pixels. At the same time, I would like the axes to fit around > the image tightly. > > Is there some way to, for example, choose a certain figure width, and > have the height chosen automatically to the optimal value? > > Thanks, > Christoph > > I particularly like using the figaspect() function: http://matplotlib.org/api/figure_api.html?highlight=figaspect#matplotlib.figure.figaspect The example usage there needs to be updated (it assumes the pylab mode which imports everything in pyplot into the global namespace). But it should be accessible like so: import matplotlib.pyplot as plt w, h = plt.figaspect(2) It isn't perfect, but for its simplicity, it gets it mostly right. Cheers! Ben Root -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Choosing optimal figure width/height automatically
Hello, I'm stuck trying to find a solution to the following problem. I'd like to show an array using imshow preserving the 1:1 aspect ratio of its pixels. At the same time, I would like the axes to fit around the image tightly. Is there some way to, for example, choose a certain figure width, and have the height chosen automatically to the optimal value? Thanks, Christoph -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users