On Fri, Feb 11, 2011 at 8:38 AM, Jeff Layton <layto...@att.net> wrote: > I hate to be the first one to comment on this post but I forgot to give > the error message and version of matplotlib. The error is, > > Traceback (most recent call last): > File "./multi_file_test_2.py", line 460, in <module> > ax.legend( (p1[0], p2[0]), ('IO Time', 'Total Elapsed Time'), > bbox_to_anchor=(1.05, 1), loc=2); > File "/usr/lib/python2.5/site-packages/matplotlib/axes.py", line > 3617, in legend > self.legend_ = mlegend.Legend(self, handles, labels, **kwargs) > TypeError: __init__() got an unexpected keyword argument 'bbox_to_anchor' > > > The version of matplotlib I'm using is, 0.98.3-4ubuntu1 > > Jeff >
I'm quite sure that the *bbox_to_anchor* parameter is introduced later than 0.98. I think you have a few options, * use "loc" parameter. * see if "figlegend" helps. * create a empty axes just for the purpose of drawing the legend. * upgrade to 1.0.1 and I highly recommend it if you can. Regards, -JJ > >> Good evening, >> >> I've been trying to find a way to move the legend outside >> the plot so it doesn't cover it up. I've seen some things >> online but I can quite get them to work (probably just my >> lack of knowledge about matplotlib). >> >> The section of code creating the plot looks like, >> >> fig = plt.figure() >> ax = fig.add_subplot(1,1,1); >> >> p1 = ax.bar(ind, IO_Time_Plot, width, color="r", align='center'); >> p2 = ax.bar(ind, Diff_Plot, width, color="y", >> bottom=IO_Time_Plot, align='center'); >> >> ax.set_ylabel('Time (secs)'); >> ax.set_title('Elapsed Time and IO Time',fontstyle='italic'); >> ax.set_xticks(ind); >> >> group_labels = []; >> for item in names: >> group_labels.append(item); >> >> ax.set_xticklabels(group_labels); >> >> fig.autofmt_xdate(); >> >> #ax.legend( bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.); >> ax.legend( (p1[0], p2[0]), ('IO Time', 'Total Elapsed Time')); >> >> >> >> You can see my attempt at moving the legend outside the bounding box >> but when I try this, the legend never appears. >> >> TIA! >> >> Jeff >> >> >> >> ------------------------------------------------------------------------------ >> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: >> Pinpoint memory and threading errors before they happen. >> Find and fix more than 250 security defects in the development cycle. >> Locate bottlenecks in serial and parallel code that limit performance. >> http://p.sf.net/sfu/intel-dev2devfeb >> _______________________________________________ >> Matplotlib-users mailing list >> Matplotlib-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > ------------------------------------------------------------------------------ > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: > Pinpoint memory and threading errors before they happen. > Find and fix more than 250 security defects in the development cycle. > Locate bottlenecks in serial and parallel code that limit performance. > http://p.sf.net/sfu/intel-dev2devfeb > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users