<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Clint,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I've been looking into this and it appears to be a bug.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Normally, you are supposed to be able to set your own labels using lbLabeStrings, but it appears that the contour object has to be in a certain "state" (i.e. it has to have been created already) in order for the labels to take effect.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">A work-around is to use set_values, which allows you to apply resource changes to an object that has already been created.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I've attached a modified contour2.py that creates two PNGs. The first PNG is the plot with the bug. The second one is with the correct labels set using "set_values".</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">BTW, this is not a PyNGL bug, but an internal NCL graphics bug. The reason why you don't see this bug when you use NCL's gsn_csm_contour function is because that function constructs the labelbar from scratch.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">And a second BTW, PyNGL is now officially available under Python 3. I need to update some documentation on this, but if you use conda, it should give you the Python 3 version by default:</div><div class="gmail_default" style="font-size:small"><br></div><font face="monospace, monospace">conda create --name pyn_env --channel conda-forge pyngl</font><div><font face="monospace, monospace"><br></font></div>I made a slight change to "contour2.py" so it would work under Python 3, which was this line:<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><div class="gmail_default" style="display:inline"><font face="monospace, monospace">





nrlist.lbLabelStrings = list(range(-30,110,10))</font></div></div></div></blockquote><div><div><div class="gmail_default" style="display:inline"><font face="monospace, monospace"><br></font></div></div>Under Python 2, it looked like this:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><div class="gmail_default" style="display:inline"><font face="monospace, monospace">





nrlist.lbLabelStrings = range(-30,110,10)</font></div></div></div></blockquote><div><div><font face="monospace, monospace"><br></font></div><div class="gmail_default" style="font-size:small;display:inline">U</div>nder Python 3, the above line will give you the error:</div><div><br><div><font face="monospace, monospace"><div class="gmail_default" style="font-size:small;display:inline"></div><div class="gmail_default" style="font-size:small;display:inline"></div>  value for keyword lbLabelStrings is invalid.<br><div class="gmail_default" style="font-size:small;display:inline">  </div>Traceback (most recent call last):<br>  File "contour2.py", line 41, in <module><br>    Ngl.set_values(contour,nrlist)<br>  File "/Users/haley/miniconda3/envs/pyn_env_py3/lib/python3.6/site-packages/ngl/__init__.py", line 5622, in set_values<br>    values = NhlSetValues(_int_id(obj),rlist)<br><div class="gmail_default" style="font-size:small;display:inline">   </div>SystemError: <built-in function NhlSetValues> returned NULL without setting an error</font></div><div><br>Let me know if you continue to have problems with PyNGL. We are trying to put more attention on this package to clean it up and feedback is very useful!<br><br>Thanks,<br><br>--Mary<br></div><div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 21, 2018 at 7:00 AM, Clinton Rowe <span dir="ltr"><<a href="mailto:crowe1@unl.edu" target="_blank">crowe1@unl.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-7632112180810855079WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi Mary,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I upgraded to the latest pyNGL release and add lbLabelStrings to my code, and I still get the last box labeled with a generic label (Label_13), even though I
 have 14 labels defined.  On my first try, I accidentally used 30 as my step size when generating the labels and that made no difference in how the labelbar was labeled.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">What am I missing here?<u></u><u></u></span></p><span class="">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Clint<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d">==============================<wbr>==========================<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d">Clinton M. Rowe<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d">Professor and Graduate Chair         phone:(402)472-1946<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d">Earth & Atmospheric Sciences           fax:(402)472-4917<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d">University of Nebraska- Lincoln          
</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="mailto:crowe1@unl.edu" target="_blank"><span style="font-family:"Courier New"">crowe1@unl.edu</span></a></span><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
</span><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Mary Haley <<a href="mailto:haley@ucar.edu" target="_blank">haley@ucar.edu</a>>
<br><span class="">
<b>Sent:</b> Thursday, August 16, 2018 7:28 PM<br>
<b>To:</b> Clinton Rowe <<a href="mailto:crowe1@unl.edu" target="_blank">crowe1@unl.edu</a>><br>
<b>Cc:</b> <a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
<b>Subject:</b> Re: [ncl-talk] BoxCenters in pyNGL<u></u><u></u></span></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Hi Clint,<u></u><u></u></p>
</div><div><div class="h5">
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Sorry for taking so long to get back to this. I'm slowing climbing my way back to normalcy after a few weeks of constant meetings.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm wondering if this example has been fixed in the latest PyNGL, because it worked fine for me, although one label is missing because once you go to box centers, you have to provide an additional label. (You can add the extra label with
 lbLabelStrings.)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I installed PyNGL and PyNIO with:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">conda create --name pyn_env --channel conda-forge pynio pyngl<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">and then ran your attached script, with the resultant attached image.<u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
Do you know what version of PyNGL you're running? You can print "Ngl.__version__<u></u><u></u></p>
<div>
<p class="MsoNormal">" for this information.<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">--Mary<u></u><u></u></p>
</div>
</div>
</div></div></div><div><div class="h5">
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Fri, Aug 3, 2018 at 10:43 AM, Clinton Rowe <<a href="mailto:crowe1@unl.edu" target="_blank">crowe1@unl.edu</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Mary, Rick, et al.,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I transitioned a routine from NCL to pyNGL and the BoxCenters label resource is not working.  Labels are only drawn at alternate interior lines on the labelbar, rather than the
 box centers as desired.  As an example, I added one line to contour2.py to request labels at the center of the boxes.  I’ve attached the modified example and output png.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Clint<u></u><u></u></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span><u></u><u></u></p>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1f497d">==============================<wbr>==========================</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1f497d">Clinton M. Rowe</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1f497d">Professor and Graduate Chair         phone:(402)472-1946</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1f497d">Earth & Atmospheric Sciences           fax:(402)472-4917</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1f497d">University of Nebraska- Lincoln          
</span><span style="color:#1f497d"><a href="mailto:crowe1@unl.edu" target="_blank"><span style="font-family:"Courier New"">crowe1@unl.edu</span></a></span><u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__mailman.ucar.edu_mailman_listinfo_ncl-2Dtalk&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=ubRAum_abJ_VeyWwkZyVzQ&m=8cUMz0iNSykheFbeusuXgwm6yRiLJGxOl84WZqwmJNc&s=bnEJJeofaPnySgZWsqUV6F4_5KhWCcFLPajWl_fIn34&e=" target="_blank">http://mailman.ucar.edu/<wbr>mailman/listinfo/ncl-talk</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>