Re: [Matplotlib-users] mpl 1.3 & xkcd

2013-10-17 Thread Matthias BUSSONNIER

> 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

2013-10-17 Thread Skip Montanaro
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

2013-10-17 Thread Nicolas Rougier

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

2013-10-17 Thread Joe Kington


>
> 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

2013-10-17 Thread Christoph Groth
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

2013-10-17 Thread Benjamin Root
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

2013-10-17 Thread Christoph Groth
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