Changing the tick label font family

Sorry, another really basic matplotlib question ... how do I set the font family of the axis tick labels? I am using wxPython/wxMpl and not the pylab interface so am trying to avoid getp/setp. I could do this using matplotlib.rc but want to do it programatically

I tried

fig=self.get_figure()
ax1=fig.gca()
ax1.plot(x,y)
xt=ax1.get_xticklabels()
d = { 'family' : 'sans-serif' }
ax1.set_xticklabels(xt, d)

But Python goes haywire ... There has to be a simpler way but not found it yet.

I am trying to do the same for the legend properties. So far we have

p=matplotlib.font_manager.FontProperties()
p.set_family('sans-serif')
p.set_size('small')
fig.legend(lines, titles, 'upper right', prop=p)

but this looks fairly cludgy - is there a more elegant way of doing the same thing?

Thanks in advance

Alun Griffiths