Sto provando a utilizzare i grafici Matplotlib come parte di una presentazione pronta per la fotocamera e la casa editrice richiede l'uso di font Type 1 .Caratteri Type 1 con log graph
Ho constatato che il back-end PDF emette felicemente Type-1 caratteri per semplici grafici con assi Y lineari, ma uscite di tipo-3 caratteri per logaritmica Y assi.
Utilizzando una yscale logaritmica incorre l'uso di mathtext, che sembra uso font Type 3, presumibilmente a causa dell'uso di default esponenziale notazione. Posso usare un brutto schermaggio per aggirare questo - usando pyplot.yticks() per forzare le zecche degli assi a non usare esponenti - ma ciò richiederebbe lo spostamento della regione di trama per contenere etichette grandi (come 10^6) o scrivere gli assi come 10, 100, 1K, ecc. così si adattano.
Ho testato l'esempio di seguito con il maestro ramo matplotlib come di oggi, così come 1.1.1, che produce lo stesso comportamento, in modo da non so che questo è un bug, probabilmente solo comportamento inaspettato.
#!/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']})
#rc('font',**{'family':'sans-serif','sans-serif':['computer modern sans serif']})
# 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)
plt.savefig(filename + '.pdf')
if __name__ == '__main__':
for yscale in YSCALES:
plot('linegraph-' + yscale, yscale)
Qualcuno sa un modo pulito per ottenere font Type 1 con gli assi del registro?
Grazie!
Proprio per la consapevolezza, questo è stato anche pubblicato su la mailinglist degli utenti mpl: http://matplotlib.1069221.n5.nabble.com/Type-1-fonts-with-log-graphs-tt39606.html – pelson
S Alcuni riferimenti utili (nessuna risposta a questa domanda): http://matplotlib.1069221.n5.nabble.com/Type-1-font-in-figures-needed-td10294.html & http: //nerdjusttyped.blogspot .co.uk/2010/07/type-1-fonts-and-matplotlib-figures.html – pelson