Hi,
I'm running into this RuntimeError: Could not open facefile
c:\Python32\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf;
Cannot_Open_Resource when I'm trying to save out a series of *.png files in
a loop. It crashes on this error after many passes through the loop and
successful files get created, but then always on the same pass it does
this. The full traceback is here:

  File
"C:\Users\E440710\Desktop\PythonTransfer\fittslaw_ThroughputCalc_AS_break.py",
line 744, in <module>
    fig.savefig(fname, transparent = True)
  File "c:\Python32\lib\site-packages\matplotlib\figure.py", line 1174, in
savefig
    self.canvas.print_figure(*args, **kwargs)
  File "c:\Python32\lib\site-packages\matplotlib\backend_bases.py", line
2027, in print_figure
    **kwargs)
  File "c:\Python32\lib\site-packages\matplotlib\backends\backend_agg.py",
line 451, in print_png
    FigureCanvasAgg.draw(self)
  File "c:\Python32\lib\site-packages\matplotlib\backends\backend_agg.py",
line 400, in draw
    self.figure.draw(self.renderer)
  File "c:\Python32\lib\site-packages\matplotlib\artist.py", line 56, in
draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "c:\Python32\lib\site-packages\matplotlib\figure.py", line 887, in
draw
    func(*args)
  File "c:\Python32\lib\site-packages\matplotlib\artist.py", line 56, in
draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "c:\Python32\lib\site-packages\matplotlib\axes.py", line 1985, in
draw
    a.draw(renderer)
  File "c:\Python32\lib\site-packages\matplotlib\artist.py", line 56, in
draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "c:\Python32\lib\site-packages\matplotlib\axis.py", line 1043, in
draw
    ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,
renderer)
  File "c:\Python32\lib\site-packages\matplotlib\axis.py", line 994, in
_get_tick_bboxes
    extent = tick.label1.get_window_extent(renderer)
  File "c:\Python32\lib\site-packages\matplotlib\text.py", line 743, in
get_window_extent
    bbox, info = self._get_layout(self._renderer)
  File "c:\Python32\lib\site-packages\matplotlib\text.py", line 296, in
_get_layout
    ismath=False)
  File "c:\Python32\lib\site-packages\matplotlib\backends\backend_agg.py",
line 182, in get_text_width_height_descent
    font = self._get_agg_font(prop)
  File "c:\Python32\lib\site-packages\matplotlib\backends\backend_agg.py",
line 223, in _get_agg_font
    font = FT2Font(str(fname))
RuntimeError: Could not open facefile
c:\Python32\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf;
Cannot_Open_Resource

I've tried the various fixes that have been suggested - removing the
fontList.py3k.cache and even the removing the .matplotlib directory.
However when I run my script that's producing the error the directory gets
recreated along with the fontList.py3k.cache which must be pointing to the
wrong path?

When I check the path
c:\Python32\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf where
matplotlib is looking for the resource it cannot open - the Vera.ttf is
there.

This only happens after many iterations through the loop that is saving out
the *.png files and I have no idea why.

The relevant code from my script is here:

for p in plotData[k]["data"]:
            #print("p in plotData[k]:",p)
            a = numpy.array((loc[0],loc[1]))
            b = numpy.array((p[0],p[1]))
            distValue = (numpy.sqrt(numpy.sum((a-b)**2) ))/86.0 #divide by
86 because that was the ppi on the display used to collect the data
            if p[2] == 1:
                hit_x.append(loc[0]-p[0])

                hit_y.append(loc[1]-p[1])

                frame_hit_x = loc[0]-p[0]
                frame_hit_y = loc[1]-p[1]
                print("frame_x:", frame_hit_x)
                files = []
                if size == (0.25,0.25) and makeMovie:

                    fig = plt.figure()
                    print("fig:", fig)

plt.plot(frame_hit_x,frame_hit_y,color='green',marker='o',linestyle='')

                    plt.axis('scaled')
                    plt.axis([-100,100,-100,100])

                    fname =
"subj{:g}_size{:g}_hit_x{:g}.png".format(Subject,btnSize,frame_hit_x)
                    print('saving frame', fname)
                    fig.savefig(fname, transparent = True)
                    files.append(fname)

I'm on a Win7 64bit using python 3.2 and matplotlib version 1.2.x

Any help would be greatly appreciated!

Andy
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to