Hello everybody,

I have a final problem with my graph. As a last step I produce an *.eps file that I use in conjunction with LaTeX.

Here is the last part of my code:

# plt.title('Title')
xlab = plt.xlabel(u'输入 1')
#xlab.set_position((0.2, 0.1))
ylab = plt.ylabel(u'输入 2')
plt.grid(True)
plt.subplots_adjust(bottom=0.2)
plt.show()
plt.savefig('dea.eps')


plt.show() produces the correct output,

but

plt.savefig('dea.eps') produces an error (the error message is attached).

The error is clearly linked to the Chinese, as it runs through if I take the Chinese out of the code.
Also, plt.savefig('dea.png') works fine.

Could anyone indicate where I would have to look for the mistake? The matplotlibrc should be fine, but I am not sure.

Your help would be greatly appreciated!

Many thanks,

David





In [63]: run dea.py
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (550, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (550, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (550, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (550, 0))

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/home/david/Documents/PhD/Dissertation/LaTeX/figures/dea.py in <module>()
     37 plt.subplots_adjust(bottom=0.2)
     38 plt.show()
---> 39 plt.savefig('dea.eps')
     40
     41

/usr/lib/pymodules/python2.6/matplotlib/pyplot.pyc in savefig(*args, **kwargs)
    354 def savefig(*args, **kwargs):
    355     fig = gcf()
--> 356     return fig.savefig(*args, **kwargs)
    357 if Figure.savefig.__doc__ is not None:
    358     savefig.__doc__ = dedent(Figure.savefig.__doc__)

/usr/lib/pymodules/python2.6/matplotlib/figure.pyc in savefig(self, *args, 
**kwargs)
   1031                 patch.set_alpha(0.0)
   1032
-> 1033         self.canvas.print_figure(*args, **kwargs)
   1034
   1035         if transparent:

/usr/lib/pymodules/python2.6/matplotlib/backend_bases.pyc in print_figure(self, 
filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   1474                 orientation=orientation,
   1475                 bbox_inches_restore=_bbox_inches_restore,
-> 1476                 **kwargs)
   1477         finally:
   1478             if bbox_inches and restore_bbox:

/usr/lib/pymodules/python2.6/matplotlib/backend_bases.pyc in print_eps(self, 
*args, **kwargs)
   1327         from backends.backend_ps import FigureCanvasPS # lazy import
   1328         ps = self.switch_backends(FigureCanvasPS)
-> 1329         return ps.print_eps(*args, **kwargs)
   1330
   1331     def print_pdf(self, *args, **kwargs):

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_ps.pyc in 
print_eps(self, outfile, *args, **kwargs)
    853
    854     def print_eps(self, outfile, *args, **kwargs):
--> 855         return self._print_ps(outfile, 'eps', *args, **kwargs)
    856
    857

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_ps.pyc in 
_print_ps(self, outfile, format, *args, **kwargs)
    886             self._print_figure(outfile, format, imagedpi, facecolor, 
edgecolor,
    887                                orientation, isLandscape, papertype,
--> 888                                **kwargs)
    889
    890     def _print_figure(self, outfile, format, dpi=72, facecolor='w', 
edgecolor='w',

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_ps.pyc in 
_print_figure(self, outfile, format, dpi, facecolor, edgecolor, orientation, 
isLandscape, papertype, **kwargs)
    978             bbox_inches_restore=_bbox_inches_restore)
    979
--> 980         self.figure.draw(renderer)
    981
    982         if dryrun: # return immediately if dryrun (tightbbox=True)

/usr/lib/pymodules/python2.6/matplotlib/artist.pyc in draw_wrapper(artist, 
renderer, *kl)
     44     def draw_wrapper(artist, renderer, *kl):
     45         before(artist, renderer)
---> 46         draw(artist, renderer, *kl)
     47         after(artist, renderer)
     48

/usr/lib/pymodules/python2.6/matplotlib/figure.pyc in draw(self, renderer)
    772
    773         # render the axes

--> 774         for a in self.axes: a.draw(renderer)
    775
    776         # render the figure text


/usr/lib/pymodules/python2.6/matplotlib/artist.pyc in draw_wrapper(artist, 
renderer, *kl)
     44     def draw_wrapper(artist, renderer, *kl):
     45         before(artist, renderer)
---> 46         draw(artist, renderer, *kl)
     47         after(artist, renderer)
     48

/usr/lib/pymodules/python2.6/matplotlib/axes.pyc in draw(self, renderer, 
inframe)
   1719
   1720         for zorder, i, a in dsu:
-> 1721             a.draw(renderer)
   1722
   1723         renderer.close_group('axes')

/usr/lib/pymodules/python2.6/matplotlib/artist.pyc in draw_wrapper(artist, 
renderer, *kl)
     44     def draw_wrapper(artist, renderer, *kl):
     45         before(artist, renderer)
---> 46         draw(artist, renderer, *kl)
     47         after(artist, renderer)
     48

/usr/lib/pymodules/python2.6/matplotlib/axis.pyc in draw(self, renderer, *args, 
**kwargs)
    740             tick.set_label1(label)
    741             tick.set_label2(label)
--> 742             tick.draw(renderer)
    743             if tick.label1On and tick.label1.get_visible():
    744                 extent = tick.label1.get_window_extent(renderer)

/usr/lib/pymodules/python2.6/matplotlib/artist.pyc in draw_wrapper(artist, 
renderer, *kl)
     44     def draw_wrapper(artist, renderer, *kl):
     45         before(artist, renderer)
---> 46         draw(artist, renderer, *kl)
     47         after(artist, renderer)
     48

/usr/lib/pymodules/python2.6/matplotlib/axis.pyc in draw(self, renderer)
    194
    195         if self.label1On:
--> 196             self.label1.draw(renderer)
    197         if self.label2On:
    198             self.label2.draw(renderer)

/usr/lib/pymodules/python2.6/matplotlib/text.pyc in draw(self, renderer)
    563             renderer.draw_text(gc, x, y, clean_line,
    564                                self._fontproperties, angle,
--> 565                                ismath=ismath)
    566
    567         gc.restore()

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_ps.pyc in 
draw_text(self, gc, x, y, s, prop, angle, ismath)
    585
    586         elif isinstance(s, unicode):
--> 587             return self.draw_unicode(gc, x, y, s, prop, angle)
    588
    589         elif rcParams['ps.useafm']:

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_ps.pyc in 
draw_unicode(self, gc, x, y, s, prop, angle)
    711                     gind = 0
    712                 else:
--> 713                     name = font.get_glyph_name(gind)
    714                 glyph = font.load_char(ccode, flags=LOAD_NO_HINTING)
    715

RuntimeError: Face has no glyph names
WARNING: Failure executing file: <dea.py>

### MATPLOTLIBRC FORMAT

# This is a sample matplotlib configuration file - you can find a copy
# of it on your system in
# site-packages/matplotlib/mpl-data/matplotlibrc.  If you edit it
# there, please note that it will be overridden in your next install.
# If you want to keep a permanent local copy that will not be
# over-written, place it in HOME/.matplotlib/matplotlibrc (unix/linux
# like systems) and C:\Documents and Settings\yourname\.matplotlib
# (win32 systems).
#
# This file is best viewed in a editor which supports python mode
# syntax highlighting. Blank lines, or lines starting with a comment
# symbol, are ignored, as are trailing comments.  Other lines must
# have the format
#    key : val # optional comment
#
# Colors: for the color values below, you can either use - a
# matplotlib color string, such as r, k, or b - an rgb tuple, such as
# (1.0, 0.5, 0.0) - a hex string, such as ff00ff or #ff00ff - a scalar
# grayscale intensity such as 0.75 - a legal html color name, eg red,
# blue, darkslategray

#### CONFIGURATION BEGINS HERE

# the default backend; one of GTK GTKAgg GTKCairo CocoaAgg FltkAgg
# MacOSX QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG Template
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'
backend      : TkAgg

# if you are runing pyplot inside a GUI and your backend choice
# conflicts, we will automatically try and find a compatible one for
# you if backend_fallback is True
#backend_fallback: True
#interactive  : False
#toolbar      : toolbar2   # None | classic | toolbar2
#timezone     : UTC        # a pytz timezone string, eg US/Central or 
Europe/Paris

# Where your matplotlib data lives if you installed to a non-default
# location.  This is where the matplotlib fonts, bitmaps, etc reside
#datapath : /home/jdhunter/mpldata


### LINES
# See 
http://matplotlib.sourceforge.net/api/artist_api.html#module-matplotlib.lines 
for more
# information on line properties.
#lines.linewidth   : 1.0     # line width in points
#lines.linestyle   : -       # solid line
#lines.color       : blue
#lines.marker      : None    # the default marker
#lines.markeredgewidth  : 0.5     # the line width around the marker symbol
#lines.markersize  : 6            # markersize, in points
#lines.dash_joinstyle : miter        # miter|round|bevel
#lines.dash_capstyle : butt          # butt|round|projecting
#lines.solid_joinstyle : miter       # miter|round|bevel
#lines.solid_capstyle : projecting   # butt|round|projecting
#lines.antialiased : True         # render lines in antialised (no jaggies)

### PATCHES
# Patches are graphical objects that fill 2D space, like polygons or
# circles.  See
# 
http://matplotlib.sourceforge.net/api/artist_api.html#module-matplotlib.patches
# information on patch properties
#patch.linewidth        : 1.0     # edge width in points
#patch.facecolor        : blue
#patch.edgecolor        : black
#patch.antialiased      : True    # render patches in antialised (no jaggies)

### FONT
#
# font properties used by text.Text.  See
# http://matplotlib.sourceforge.net/api/font_manager_api.html for more
# information on font properties.  The 6 font properties used for font
# matching are given below with their default values.
#
# The font.family property has five values: 'serif' (e.g. Times),
# 'sans-serif' (e.g. Helvetica), 'cursive' (e.g. Zapf-Chancery),
# 'fantasy' (e.g. Western), and 'monospace' (e.g. Courier).  Each of
# these font families has a default list of font names in decreasing
# order of priority associated with them.
#
# The font.style property has three values: normal (or roman), italic
# or oblique.  The oblique style will be used for italic, if it is not
# present.
#
# The font.variant property has two values: normal or small-caps.  For
# TrueType fonts, which are scalable fonts, small-caps is equivalent
# to using a font size of 'smaller', or about 83% of the current font
# size.
#
# The font.weight property has effectively 13 values: normal, bold,
# bolder, lighter, 100, 200, 300, ..., 900.  Normal is the same as
# 400, and bold is 700.  bolder and lighter are relative values with
# respect to the current weight.
#
# The font.stretch property has 11 values: ultra-condensed,
# extra-condensed, condensed, semi-condensed, normal, semi-expanded,
# expanded, extra-expanded, ultra-expanded, wider, and narrower.  This
# property is not currently implemented.
#
# The font.size property is the default font size for text, given in pts.
# 12pt is the standard value.
#
#font.family         : sans-serif
#font.style          : normal
#font.variant        : normal
#font.weight         : medium
#font.stretch        : normal
# note that font.size controls default text sizes.  To configure
# special text sizes tick labels, axes, labels, title, etc, see the rc
# settings for axes and ticks. Special text sizes can be defined
# relative to font.size, using the following values: xx-small, x-small,
# small, medium, large, x-large, xx-large, larger, or smaller
#font.size           : 12.0
font.serif          : Bitstream Vera Serif, New Century Schoolbook, Century 
Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New 
Roman, Times, Palatino, Charter, serif
font.sans-serif     : SimHei, Adobe Song Std, Bitstream Vera Sans, Lucida 
Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
font.cursive        : Apple Chancery, Textile, Zapf Chancery, Sand, cursive
font.fantasy        : Comic Sans MS, Chicago, Charcoal, Impact, Western, fantasy
font.monospace      : Adobe Fangsong Std, Bitstream Vera Sans Mono, Andale 
Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace

### TEXT
# text properties used by text.Text.  See
# http://matplotlib.sourceforge.net/api/artist_api.html#module-matplotlib.text 
for more
# information on text properties

#text.color          : black

### LaTeX customizations. See 
http://www.scipy.org/Wiki/Cookbook/Matplotlib/UsingTex
#text.usetex         : False  # use latex for all text handling. The following 
fonts
                              # are supported through the usual rc parameter 
settings:
                              # new century schoolbook, bookman, times, 
palatino,
                              # zapf chancery, charter, serif, sans-serif, 
helvetica,
                              # avant garde, courier, monospace, computer 
modern roman,
                              # computer modern sans serif, computer modern 
typewriter
                              # If another font is desired which can loaded 
using the
                              # LaTeX \usepackage command, please inquire at the
                              # matplotlib mailing list
#text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for 
handling
                            # unicode strings.
#text.latex.preamble :  # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX 
FAILURES
                            # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK 
FOR HELP
                            # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO.
                            # preamble is a comma separated list of LaTeX 
statements
                            # that are included in the LaTeX document preamble.
                            # An example:
                            # text.latex.preamble : 
\usepackage{bm},\usepackage{euler}
                            # The following packages are always loaded with 
usetex, so
                            # beware of package collisions: color, geometry, 
graphicx,
                            # type1cm, textcomp. Adobe Postscript (PSSNFS) font 
packages
                            # may also be loaded, depending on your font 
settings

#text.dvipnghack : None      # some versions of dvipng don't handle alpha
                             # channel properly.  Use True to correct
                             # and flush ~/.matplotlib/tex.cache
                             # before testing and False to force
                             # correction off.  None will try and
                             # guess based on your dvipng version

#text.markup         : 'plain'  # Affects how text, such as titles and labels, 
are
                                # interpreted by default.
                                # 'plain': As plain, unformatted text
                                # 'tex': As TeX-like text.  Text between $'s 
will be
                                # formatted as a TeX math expression.
                                # This setting has no effect when text.usetex 
is True.
                                # In that case, all text will be sent to TeX for
                                # processing.

# The following settings allow you to select the fonts in math mode.
# They map from a TeX font name to a fontconfig font pattern.
# These settings are only used if mathtext.fontset is 'custom'.
# Note that this "custom" mode is unsupported and may go away in the
# future.
#mathtext.cal : cursive
#mathtext.rm  : serif
#mathtext.tt  : monospace
#mathtext.it  : serif:italic
#mathtext.bf  : serif:bold
#mathtext.sf  : sans
#mathtext.fontset : cm # Should be 'cm' (Computer Modern), 'stix',
                       # 'stixsans' or 'custom'
#mathtext.fallback_to_cm : True  # When True, use symbols from the Computer 
Modern
                                 # fonts when a symbol can not be found in one 
of
                                 # the custom math fonts.

#mathtext.default : it # The default font to use for math.
                       # Can be any of the LaTeX font names, including
                       # the special name "regular" for the same font
                       # used in regular text.

### AXES
# default face and edge color, default tick sizes,
# default fontsizes for ticklabels, and so on.  See
# http://matplotlib.sourceforge.net/api/axes_api.html#module-matplotlib.axes
#axes.hold           : True    # whether to clear the axes by default on
#axes.facecolor      : white   # axes background color
#axes.edgecolor      : black   # axes edge color
#axes.linewidth      : 1.0     # edge linewidth
#axes.grid           : False   # display grid or not
#axes.titlesize      : large   # fontsize of the axes title
#axes.labelsize      : medium  # fontsize of the x any y labels
#axes.labelcolor     : black
#axes.axisbelow      : False   # whether axis gridlines and ticks are below
                              # the axes elements (lines, text, etc)
#axes.formatter.limits : -7, 7 # use scientific notation if log10
                               # of the axis range is smaller than the
                               # first or larger than the second
#axes.unicode_minus  : True    # use unicode for the minus symbol
                               # rather than hypen.  See 
http://en.wikipedia.org/wiki/Plus_sign#Plus_sign

#polaraxes.grid      : True    # display grid on polar axes
#axes3d.grid         : True    # display grid on 3d axes

### TICKS
# see http://matplotlib.sourceforge.net/api/axis_api.html#matplotlib.axis.Tick
#xtick.major.size     : 4      # major tick size in points
#xtick.minor.size     : 2      # minor tick size in points
#xtick.major.pad      : 4      # distance to major tick label in points
#xtick.minor.pad      : 4      # distance to the minor tick label in points
#xtick.color          : k      # color of the tick labels
#xtick.labelsize      : medium # fontsize of the tick labels
#xtick.direction      : in     # direction: in or out

#ytick.major.size     : 4      # major tick size in points
#ytick.minor.size     : 2      # minor tick size in points
#ytick.major.pad      : 4      # distance to major tick label in points
#ytick.minor.pad      : 4      # distance to the minor tick label in points
#ytick.color          : k      # color of the tick labels
#ytick.labelsize      : medium # fontsize of the tick labels
#ytick.direction      : in     # direction: in or out


### GRIDS
#grid.color       :   black   # grid color
#grid.linestyle   :   :       # dotted
#grid.linewidth   :   0.5     # in points

### Legend
#legend.fancybox      : False  # if True, use a rounded box for the
                               # legend, else a rectangle
#legend.isaxes        : True
#legend.numpoints     : 2      # the number of points in the legend line
#legend.fontsize      : large
#legend.pad           : 0.0    # deprecated; the fractional whitespace inside 
the legend border
#legend.borderpad     : 0.5    # border whitspace in fontsize units
#legend.markerscale   : 1.0    # the relative size of legend markers vs. 
original
# the following dimensions are in axes coords
#legend.labelsep      : 0.010  # the vertical space between the legend entries
#legend.handlelen     : 0.05   # the length of the legend lines
#legend.handletextsep : 0.02   # the space between the legend line and legend 
text
#legend.axespad       : 0.02   # the border between the axes and legend edge
#legend.shadow        : False

### FIGURE
# See 
http://matplotlib.sourceforge.net/api/figure_api.html#matplotlib.figure.Figure
#figure.figsize   : 8, 6    # figure size in inches
#figure.dpi       : 80      # figure dots per inch
#figure.facecolor : 0.75    # figure facecolor; 0.75 is scalar gray
#figure.edgecolor : white   # figure edgecolor

# The figure subplot parameters.  All dimensions are fraction of the
# figure width or height
#figure.subplot.left    : 0.125  # the left side of the subplots of the figure
#figure.subplot.right   : 0.9    # the right side of the subplots of the figure
#figure.subplot.bottom  : 0.1    # the bottom of the subplots of the figure
#figure.subplot.top     : 0.9    # the top of the subplots of the figure
#figure.subplot.wspace  : 0.2    # the amount of width reserved for blank space 
between subplots
#figure.subplot.hspace  : 0.2    # the amount of height reserved for white 
space between subplots

### IMAGES
#image.aspect : equal             # equal | auto | a number
#image.interpolation  : bilinear  # see help(imshow) for options
#image.cmap   : jet               # gray | jet etc...
#image.lut    : 256               # the size of the colormap lookup table
#image.origin : upper             # lower | upper
#image.resample  : False

### CONTOUR PLOTS
#contour.negative_linestyle :  dashed # dashed | solid

### Agg rendering
### Warning: experimental, 2008/10/10
#agg.path.chunksize : 0           # 0 to disable; values in the range
                                  # 10000 to 100000 can improve speed slightly
                                  # and prevent an Agg rendering failure
                                  # when plotting very large data sets,
                                  # especially if they are very gappy.
                                  # It may cause minor artifacts, though.
                                  # A value of 20000 is probably a good
                                  # starting point.
### SAVING FIGURES
#path.simplify : False  # When True, simplify paths by removing "invisible"
                        # points to reduce file size and increase rendering
                        # speed
#path.simplify_threshold : 0.1  # The threshold of similarity below which
                                # vertices will be removed in the simplification
                                # process

# the default savefig params can be different from the display params
# Eg, you may want a higher resolution, or to make the figure
# background white
#savefig.dpi       : 100      # figure dots per inch
#savefig.facecolor : white    # figure facecolor when saving
#savefig.edgecolor : white    # figure edgecolor when saving

#cairo.format      : png      # png, ps, pdf, svg

# tk backend params
#tk.window_focus   : False    # Maintain shell focus for TkAgg
#tk.pythoninspect  : False    # tk sets PYTHONINSEPCT

# ps backend params
#ps.papersize      : letter   # auto, letter, legal, ledger, A0-A10, B0-B10
#ps.useafm         : False    # use of afm fonts, results in small files
#ps.usedistiller   : False    # can be: None, ghostscript or xpdf
                                          # Experimental: may produce smaller 
files.
                                          # xpdf intended for production of 
publication quality files,
                                          # but requires ghostscript, xpdf and 
ps2eps
#ps.distiller.res  : 6000      # dpi
#ps.fonttype       : 3         # Output Type 3 (Type3) or Type 42 (TrueType)

# pdf backend params
#pdf.compression   : 6 # integer from 0 to 9
                       # 0 disables compression (good for debugging)
#pdf.fonttype       : 3         # Output Type 3 (Type3) or Type 42 (TrueType)
ps.fonttype=42
pdf.fonttype=42

# svg backend params
#svg.image_inline : True       # write raster image data directly into the svg 
file
#svg.image_noscale : False     # suppress scaling of raster data embedded in SVG
#svg.embed_char_paths : True       # embed character outlines in the SVG file

# docstring params
#docstring.hardcopy = False  # set this when you want to generate hardcopy 
docstring

# Set the verbose flags.  This controls how much information
# matplotlib gives you at runtime and where it goes.  The verbosity
# levels are: silent, helpful, debug, debug-annoying.  Any level is
# inclusive of all the levels below it.  If your setting is "debug",
# you'll get all the debug and helpful messages.  When submitting
# problems to the mailing-list, please set verbose to "helpful" or "debug"
# and paste the output into your report.
#
# The "fileo" gives the destination for any calls to verbose.report.
# These objects can a filename, or a filehandle like sys.stdout.
#
# You can override the rc default verbosity from the command line by
# giving the flags --verbose-LEVEL where LEVEL is one of the legal
# levels, eg --verbose-helpful.
#
# You can access the verbose instance in your code
#   from matplotlib import verbose.
#verbose.level  : debug      # one of silent, helpful, debug, debug-annoying
#verbose.fileo  : sys.stdout  # a log filename, sys.stdout or sys.stderr
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to