Skip to content

UnboundLocalError: local variable 'aspect_scale_mode' referenced before assignment #4900

Closed
@napsternxg

Description

@napsternxg
plt.clf()
fig, ax = plt.subplots(1,2, sharey=True)
plt.setp(ax.flat, aspect=1.0, adjustable='box-forced')
#fig.set_size_inches(16,8)
sns.despine(fig=fig)
#scale = 'logit'
scale = None
plot.plot_year_dist(df_mesh[(df_mesh['Year'] >= min_y) & (df_mesh['Year'] <= 2009)],col='min_VolFirstP',col_label="Year",thresh=10,file_prefix='individual_', ax=ax[0],color=sns.xkcd_rgb['black'],label='Individual Volume [%s-2009]' % min_y,marker="o", scale = scale)
plot.plot_year_dist(df[(df['Year'] >= min_y) & (df['Year'] <= 2009)],col='min_VolFirstP',col_label="Year",thresh=10,file_prefix='pair_', ax=ax[0],color=sns.xkcd_rgb['red'],label='Pair Volume [%s-2009]' % min_y, marker="s", scale = scale)


plot.plot_year_dist(df_mesh[(df_mesh['Year'] >= min_y) & (df_mesh['Year'] <= 2009)],col='min_TFirstP',col_label="Years",thresh=3,file_prefix='individual_', ax=ax[1],color=sns.xkcd_rgb['black'],label='Individual Time [%s-2009]' % min_y,marker="o", scale = scale)
plot.plot_year_dist(df[(df['Year'] >= min_y) & (df['Year'] <= 2009)],col='min_TFirstP',col_label="Years",thresh=3,file_prefix='pair_', ax=ax[1],color=sns.xkcd_rgb['red'],label='Pair Time [%s-2009]' % min_y,marker="s", scale = scale)

for i in range(2):
    ax[i].set_yscale("logit", p_min=1e-4)
    ax[i].legend(bbox_to_anchor=(0., 1.02, 1., .102), borderaxespad=0., frameon=True, fancybox=True)

plt.savefig("temp.pdf",bbox_inches='tight')

When running the above code I am getting the following error:

---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-75-76bd951dfd46> in <module>()
     19 
     20 
---> 21 plt.savefig("Novelty_year_dist_logit.pdf",bbox_inches='tight')
     22 plt.savefig("Novelty_year_dist_logit.eps",bbox_inches='tight')

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.pyc in savefig(*args, **kwargs)
    575 def savefig(*args, **kwargs):
    576     fig = gcf()
--> 577     res = fig.savefig(*args, **kwargs)
    578     draw()   # need this if 'transparent=True' to reset colors
    579     return res

/usr/local/lib/python2.7/dist-packages/matplotlib/figure.pyc in savefig(self, *args, **kwargs)
   1474             self.set_frameon(frameon)
   1475 
-> 1476         self.canvas.print_figure(*args, **kwargs)
   1477 
   1478         if frameon:

/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2156                     orientation=orientation,
   2157                     dryrun=True,
-> 2158                     **kwargs)
   2159                 renderer = self.figure._cachedRenderer
   2160                 bbox_inches = self.figure.get_tightbbox(renderer)

/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.pyc in print_pdf(self, filename, **kwargs)
   2483                 RendererPdf(file, image_dpi),
   2484                 bbox_inches_restore=_bbox_inches_restore)
-> 2485             self.figure.draw(renderer)
   2486             renderer.finalize()
   2487         finally:

/usr/local/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     57     def draw_wrapper(artist, renderer, *args, **kwargs):
     58         before(artist, renderer)
---> 59         draw(artist, renderer, *args, **kwargs)
     60         after(artist, renderer)
     61 

/usr/local/lib/python2.7/dist-packages/matplotlib/figure.pyc in draw(self, renderer)
   1083         dsu.sort(key=itemgetter(0))
   1084         for zorder, a, func, args in dsu:
-> 1085             func(*args)
   1086 
   1087         renderer.close_group('figure')

/usr/local/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     57     def draw_wrapper(artist, renderer, *args, **kwargs):
     58         before(artist, renderer)
---> 59         draw(artist, renderer, *args, **kwargs)
     60         after(artist, renderer)
     61 

/usr/local/lib/python2.7/dist-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
   2004             self.apply_aspect(pos)
   2005         else:
-> 2006             self.apply_aspect()
   2007 
   2008         artists = []

/usr/local/lib/python2.7/dist-packages/matplotlib/axes/_base.pyc in apply_aspect(self, position)
   1191         fig_aspect = figH / figW
   1192         if self._adjustable in ['box', 'box-forced']:
-> 1193             if aspect_scale_mode == "log":
   1194                 box_aspect = A * self.get_data_ratio_log()
   1195             else:

UnboundLocalError: local variable 'aspect_scale_mode' referenced before assignment

However, running the example explained in http://stackoverflow.com/a/13663328/1650159 doesn't give this error.

Additional Info:

def plot_year_dist(df,col='',col_label="",thresh=0,file_prefix='',outFolder=DEFAULT_OUTPUT,\
    ax=None,color=sns.xkcd_rgb['black'],label='',scale=None,**kwargs):
  saveFig = False
  if ax is None:
    plt.clf()
    ax = plt.gca()
    saveFig = True
  filename = file_prefix+col+"_year_dist.png"
  df_g = df[[col,'Year']].groupby('Year').count()
  df_g["filtered"] = df[[col,"Year"]][df[col] <= thresh].groupby("Year").count()
  df_g["prop"] = df_g["filtered"]/df_g[col]
  #print df_g.index
  #print df_g
  x = df_g.index.values
  y = df_g["prop"].values
  if scale == 'logit':
    y = np.log10(y/(1.0-y))

  ax.plot(x,y, linestyle='-',markersize=3.0,color=color,label=label,**kwargs)

  print "Finished generating histogram"
  ax.set_xlabel(col_label)
  ax.set_ylabel("Proportion (<= %s)" % thresh)
  if scale == 'logit':
    ax.set_ylabel("$log_{10}(p/1-p)$ [$p = P(X<= %s)$]" % thresh)
  if saveFig:
    plt.savefig(outFolder+"/"+filename)
  print "Plot saved in %s." % (filename)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions