|
From: Brandon H. <bra...@st...> - 2012-10-30 16:25:56
|
Hi Phil, Next time I'll be more explicit. I added the question to SA after I tried to get a public link to my message and saw that archives past July of this year seem to be missing. It wasn't clear that this list was even still alive: http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users Any idea why the archives seem to have stopped? Thanks, Brandon On Tue, Oct 30, 2012 at 2:23 AM, Phil Elson <pel...@gm...> wrote: > Hi Brandon, > > I notice that this is cross-posted on StackOverflow ( > http://stackoverflow.com/questions/13132194/type-1-fonts-with-log-graphs). > Personally, I have no problem with cross posting, but to save two people > having to answer the same question, I would make sure it was explicit that > this had also been posted elsewhere. > > Thanks, > > Phil > > > On 30 October 2012 03:13, Brandon Heller <bra...@st...> wrote: > >> Hi, >> >> I'm trying to use Matplotlib graphs as part of a camera-ready >> submission, and the publishing house requires the use of Type 1 fonts >> only. >> >> I'm finding that the PDF backend happily outputs Type-1 fonts for >> simple graphs with linear Y axes, but outputs Type-3 fonts for >> logarithmic Y axes. >> >> Using a logarithmic yscale incurs the use of mathtext, which seems to >> use Type 3 fonts, presumably because of the default use of exponential >> notation. I can use an ugly hack to get around this - using >> pyplot.yticks() to force the axis ticks to not use exponents - but >> this would require moving the plot region to accommodate large labels >> (like 10 ^ 6) or writing the axes as 10, 100, 1K, etc. so they fit. >> >> There's a minimum working example below, which I've tested with the >> matplotlib master branch as of today, as well as 1.1.1, which produces >> the same behavior, so I don't know that this is a bug, probably just >> unexpected behavior. >> >> >> #!/usr/bin/env python >> # Simple program to test for type 1 fonts. >> # Generate a line graph w/linear and log Y axes. >> >> from matplotlib import rc, rcParams >> >> #rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']}) >> >> # These lines are needed to get type-1 results: >> # >> http://nerdjusttyped.blogspot.com/2010/07/type-1-fonts-and-matplotlib-figures.html >> rcParams['ps.useafm'] = True >> rcParams['pdf.use14corefonts'] = True >> rcParams['text.usetex'] = False >> >> import matplotlib.pyplot as plt >> >> YSCALES = ['linear', 'log'] >> >> def plot(filename, yscale): >> plt.figure(1) >> xvals = range(1, 2) >> yvals = xvals >> plt.plot(xvals, yvals) >> plt.yscale(yscale) >> #YTICKS = [1, 10] >> #plt.yticks(YTICKS, YTICKS) # locs, labels >> ax = plt.gca() >> #print ax.get_xticklabels()[0].get_text() >> print ",".join([a.get_label() for a in ax.get_yticklabels()]) >> plt.savefig(filename + '.pdf') >> >> >> if __name__ == '__main__': >> for yscale in YSCALES: >> plot('linegraph-' + yscale, yscale) >> >> >> >> Does anyone know a clean way to get Type 1 fonts with log axes? >> >> Thanks, >> Brandon >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_sfd2d_oct >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > |