I think the confusion here stems from the fact that you're mixing TeX
and non-TeX font commands.
This turns on TeX mode, so all of the text is rendered with an external
TeX installation:
rc('text', usetex=True)
In this line, setting it to sans-serif will get passed along to TeX, but
a specific ttf font name can not be used by TeX, so the second part
(involving Helvetica) is ignored. And setting the default body text in
TeX does not (by default) change the math font. This is (unfortunately
standard TeX behavior).
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
This affects the font set used by matplotlib's internal mathtext
renderer, and has no effect on TeX:
rc('mathtext', fontset='stixsans')
The solution I use when I want all sans-serif out of TeX is to use the
cmbright package, which can be turned on by adding:
rc('text.latex', preamble=r'\usepackage{cmbright}')
That may require installing the cmbright LaTeX package if you don't
already have it.
I know all this stuff is confusing, but providing a flat interface over
both the internal text rendering and the TeX rendering isn't really
possible -- they have different views of the world -- and I'm actually
not sure it's desirable. Though I wonder if we couldn't make it more
obvious (somehow) when the user is mixing configuration that applies to
the different contexts.
Mike
On 05/02/2013 11:58 AM, Paul Hobson wrote:
Hey folks,
I'm having trouble getting a consistent sans-serif font in my figures:
https://gist.github.com/phobson/5503195 (see attached output)
This is pretty much the same issue as this Stack Overflow post:
http://stackoverflow.com/questions/12322738/how-do-i-change-the-axis-tick-font-in-a-matplotlib-plot-when-rendering-using-lat
But, the end result I'm looking for is to process the whole figure
through latex and have sans-serif fonts everywhere, even in math text.
The accepted solution on SO is to manually set the font properties of
the ticks for the figure prior to saving.
Is there a configuration-based work around for this? I'd like to avoid
having to pick through everywhere that I call fig.savefig and manually
set tick font properties if possible.
Thanks,
-Paul
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users