<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">​Virgil,</div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline"><br></div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">What is ax in your example?  When I do</div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">fig,axarr = plt.subplots(1,squeeze=False,sharex=True)</div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">I get axarr is an array of shape (1,1).  An array does not have an attribute grid.</div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline"><br></div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">Jon</div></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;display:inline">​</div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Date: Tue, 17 Apr 2018 17:14:28 +0200<br>
From: Virgil Stokes <<a href="mailto:vs@it.uu.se">vs@it.uu.se</a>><br>
To: Benjamin Root <<a href="mailto:ben.v.root@gmail.com">ben.v.root@gmail.com</a>>,<br>
        <<a href="mailto:matplotlib-users@python.org">matplotlib-users@python.org</a>><br>
Subject: Re: [Matplotlib-users] Axes array for subplots<br>
Message-ID: <<a href="mailto:951bcfd1-e953-17e3-9350-caec6231ab00@it.uu.se">951bcfd1-e953-17e3-9350-<wbr>caec6231ab00@it.uu.se</a>><br>
Content-Type: text/plain; charset="utf-8"; Format="flowed"<br>
<br>
Ok Ben,<br>
<br>
I tried the following per your suggestion:<br>
<br>
fig, axarr = plt.subplots(NSub, figsize=(width,height), squeeze=False, <br>
sharex=True)<br>
<br>
but when the following is executed:<br>
<br>
 ? ax.grid(True)<br>
<br>
I get the following error message:<br>
 ? builtins.AttributeError: 'numpy.ndarray' object has no attribute 'grid'<br>
<br>
But, thanks for your help :-).<br>
<br>
<br>
On 2018-04-17 16:30, Benjamin Root wrote:<br>
> By default, `squeeze` is called on the array prior to returning it. <br>
> This way, users don't need to deal with 2D arrays when most of the <br>
> time, they are dealing with 1D setups. You can specify squeeze=False <br>
> to subplots to turn this behavior off and always have a 2D array.<br>
><br>
> I hope that helps!<br>
> Ben Root<br>
><br>
><br>
> On Tue, Apr 17, 2018 at 10:12 AM, Virgil Stokes <<a href="mailto:vs@it.uu.se">vs@it.uu.se</a> <br>
> <mailto:<a href="mailto:vs@it.uu.se">vs@it.uu.se</a>>> wrote:<br>
><br>
>     The following line is part of a much larger python (3.6) with<br>
>     Matplotlib (2.2.2) program in which the number of subplots is<br>
>     determined from input data:<br>
><br>
>     fig, axarr = plt.subplots(NSub, figsize=(width,height), sharex=True)<br>
><br>
>     This works fine when the number of subplots (NSub) is greater than<br>
>     1. For example when NSub=3, axarr is an array of length 3 and<br>
>     contains:<br>
><br>
>     array([<matplotlib.axes._<wbr>subplots.AxesSubplot object at<br>
>     0x0000025900E9DDD8>,<br>
>     ???????? <matplotlib.axes._subplots.<wbr>AxesSubplot object at<br>
>     0x00000259011897F0>,<br>
>     ???????? <matplotlib.axes._subplots.<wbr>AxesSubplot object at<br>
>     0x00000259011C7128>],<br>
>     ??????? dtype=object)<br>
><br>
>     However, when NSub=1, axarr contains:<br>
><br>
>     <matplotlib.axes._subplots.<wbr>AxesSubplot object at 0x00000161AB26AE80><br>
><br>
>     and of course, will give an error if axarr is an array; i.e.<br>
><br>
>     builtins.TypeError: 'AxesSubplot' object does not support indexing<br>
><br>
>     For my code this requires special handling because axarr is no<br>
>     longer an array. Why not have axarr contain:<br>
><br>
>     array([<matplotlib.axes._<wbr>subplots.AxesSubplot object at<br>
>     0x00000161AB26AE80>],dtype=<wbr>object)<br>
><br>
>     when NSub=1. IMHO this is consistent; i.e. it is an array with a<br>
>     length that is equal to the number of subplots.<br>
><br>
>     ______________________________<wbr>_________________<br>
>     Matplotlib-users mailing list<br>
>     <a href="mailto:Matplotlib-users@python.org">Matplotlib-users@python.org</a> <mailto:<a href="mailto:Matplotlib-users@python.org">Matplotlib-users@<wbr>python.org</a>><br>
>     <a href="https://mail.python.org/mailman/listinfo/matplotlib-users" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/matplotlib-<wbr>users</a><br>
>     <<a href="https://mail.python.org/mailman/listinfo/matplotlib-users" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/matplotlib-<wbr>users</a>><br>
><br>
><br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://mail.python.org/pipermail/matplotlib-users/attachments/20180417/ced451e1/attachment.html" rel="noreferrer" target="_blank">http://mail.python.org/<wbr>pipermail/matplotlib-users/<wbr>attachments/20180417/ced451e1/<wbr>attachment.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
______________________________<wbr>_________________<br>
Matplotlib-users mailing list<br>
<a href="mailto:Matplotlib-users@python.org">Matplotlib-users@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/matplotlib-users" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/matplotlib-<wbr>users</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Matplotlib-users Digest, Vol 33, Issue 10<br>
******************************<wbr>******************<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">________________________________________________________<br>Jonathan D. Slavin                 Harvard-Smithsonian CfA<br><a href="mailto:jslavin@cfa.harvard.edu" target="_blank">jslavin@cfa.harvard.edu</a>       60 Garden Street, MS 83<br>phone: (617) 496-7981       Cambridge, MA 02138-1516<br>cell: (781) 363-0035             USA<br>________________________________________________________<br><br></div></div></div></div>
</div></div>