On Fri, Aug 23, 2013 at 11:21 AM, Peter Bloomfield <
peter.bloomfi...@camhpet.ca> wrote:

>
> On 08/23/2013 10:43 AM, Benjamin Root wrote:
>
>
>
> On Fri, Aug 23, 2013 at 9:57 AM, Peter Bloomfield <
> peter.bloomfi...@camhpet.ca> wrote:
>
>>  Good morning,
>>
>> I am running openSuSE 12.2, and this morning I upgraded matplotlib to
>> v1.3, and now I am having a problem with suptitle.
>> I use the following lines to put a title and legend onto a plot figure
>>
>>  import matplotlib.pyplot as plt
>>     plt.figure(1)
>>
>> plt.suptitle( "Study# : " + os.path.basename( inImage_IO.IO_FileName ) + \
>>
>> "\n" + "{ Acquired : " + \
>>
>> AcqDateTime.strftime( "%b %d, %Y - $T_o$ @ %H:%M:%S" ) + " }", \
>>
>> y=0.98, weight="roman", size="large" )
>>
>> plt.suptitle( "{Creation Date : " + AnalysisTOD + "}",
>>
>> x=0.86, y=0.03, weight="roman", size="x-small" )
>>
>>
>>  Under v1.3, I only get the 'Creation Date : ...' text at the bottom of
>> the figure the 'Study# ...' string is not present at the top. If I change
>> it to
>>
>>  import matplotlib.pyplot as plt
>>     plt.figure(1)
>>
>> plt.suptitle( "Study# : ", y=0.98, weight="roman", size="large" )
>>
>> plt.suptitle( "{Creation Date : " + AnalysisTOD + "}",
>>
>> x=0.86, y=0.03, weight="roman", size="x-small" )
>>
>>  the 'Creation Date : ...' text at the bottom of the figure the 'Study#
>> : ' string is at the top.
>>
>>
>> So the problem is in the string construct in the first example. Does
>> anybody know of a way to get around this?
>>
>>
>> Thanks in advance
>>
>>
>> Peter
>>
>>
> Oh, wow... we didn't think anybody was using that "misfeature".  This was
> a bug we fixed for 1.3, in that users complained that calling plt.title()
> would update an existing title, but plt.suptitle() would not (multiple
> calls would just result in text overlaid on top of each other).  We fixed
> this for 1.3 so that there is a single text object that is kept and is
> revised in subsequent calls to suptitle().  To get what you want, you will
> have to consolidate those strings into one.
>
>  Cheers!
> Ben
>
>    Thanks for getting back to me, but I have tried to do as you suggest,
> but to no avail, and here I apologise for my lack of knowledge of
> python/matplotlib.
> I consolidated the strings into one, titleStr
>
>     titleStr = "Study# : " + os.path.basename( inImage_IO.IO_FileName ) + \
>
>            "\n" + "{ Acquired : " + \
>                 AcqDateTime.strftime( "%b %d, %Y - $T_o$ @ %H:%M:%S" ) + "
> }"
>     plt.suptitle( titleStr, y=0.98, weight="roman", size="large" )
>
> which should write the string
>     'Study# : Pos9.img\n{ Acquired : Feb 18, 2003 - $T_o$ @ 14:55:02 }'
> at the top of the figure,  but it did not, so I thought it is the "\n",
> and tried
>
>     titleStr = "Study# : " + os.path.basename( inImage_IO.IO_FileName )
>     plt.suptitle( titleStr, y=0.98, weight="roman", size="large" )
>
> which should write the string
>     'Study# : Pos9.img'
> and this again failed to write the suptitle in the figure.
>
> Am I being dumb (rhetorical)? What is the best way to consolidate the
> strings to work with suptitle, many thanks in advance.
>
> Cheers
>
> Peter
>
>
No issues here.  Let's try simplifying it further and further.  Try the
following script.

import matplotlib.pyplot as plt
plt.suptitle("Study# : Pos9.img")
plt.show()

Does that work for you? If it does, iterate on that code example, adding
pieces back into it and see when it breaks.

Ben Root
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to