David wrote: > Dear Michael, > > On 17/03/10 20:34, Michael Droettboom wrote: > >>> I have tried >>> >>> import matplotlib >>> matplotlib.use('GtkCairo') >>> >>> as you suggested, but they had no effect whatsoever. Even the error >>> output is the same. >> I'm surprised that isn't having any effect. The Cairo backend should not >> be running any code in backend_ps.py -- where the source of the error >> is. If you put "backend: GtkCairo" in your matplotlibrc, does that work? > > No, in fact, after adding that line to matplotlibrc the CJK isn't even > rendered in the png anymore! * > > My error message has changed: > > In [1]: run dea.py > /usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py:614: > DeprecationWarning: Use the new widget gtk.Tooltip > self.tooltips = gtk.Tooltips() This is just a warning, and a benign one. It is not an exception as before. > > (this with "backend: GtkCairo" in matplotlibrc and the following two > lines in my dea.py: > > import matplotlib > matplotlib.use('GtkCairo') > > Incidentally, if I uncomment those two lines, then the (Western) font > of my graph actually changes. I'm completely stumped by this. The font rendering does look slightly different in the Cairo backend vs. the Agg backends, but I wouldn't expect major differences -- the font choice itself should be the same. I do see in the matplotlibrc that you attached that the "TkAgg" backend is being specified, not "GtkCairo".
I am able to get the Cairo backend to work just fine using matplotlib 0.99.0. What version of cairo and pycairo do you have installed? > >> What version of matplotlib are you running? > > In [2]: matplotlib.__version__ > Out[2]: '0.99.0' > >>> Note: in line 327 and 328 of the matplotlibrc I have added >>> >>> ps.fonttype=42 >>> pdf.fonttype=42 > > I haven taken those out again, because I got an error message. The error message may be related to using '=' rather than a ':'. In any case, these settings don't affect by the Cairo backend so should have no effect. I think this is just a problem related to configuration. Once you get the Cairo backend selected (and confirm that is the case), then hopefully all will work. Mike > > I continue to be at a loss! > > David > > * I had the same problem yesterday, I solved it by reinstalling a > backup of matplotlibrc. Weird. > > >>> >>> whereas I have uncommented >>> >>> pdf.fonttype : 3 >>> >>> Any ideas? I would most welcome any hint and suggestion! >> I don't think these settings will resolve the problem -- either font >> type (42 or 3) still expects glyph names. >> >> Mike >>> >>> >>> >>> >>> On 17/03/10 04:15, Michael Droettboom wrote: >>>> The font you are using (SimHei) does not have any glyph names -- these >>>> are used in the Postscript backend to refer to glyphs outside of the >>>> ASCII range. More specifically, it looks like it has at least one >>>> invalid glyph name (glyph names can only contain ASCII characters) -- >>>> loading it in FontForge complains about this. I haven't come across >>>> such >>>> a font before, but maybe that's common in CJK fonts. I don't know. I'm >>>> looking through the spec to find a way that glyphs can be referenced >>>> without a name, but I'm not finding one. Note, the PDF backend has the >>>> same issue. >>>> >>>> Do you have the same problem if you remove "SimHei" from the >>>> font.sans-serif list and thus use "Adobe Song Std" instead? (I was >>>> able >>>> to find an online download of SimHei to test with, but not Adobe Song >>>> Std). >>>> >>>> As a workaround, the Cairo backend seems to handle this font just >>>> fine. >>>> You can add >>>> >>>> import matplotlib >>>> matplotlib.use('GtkCairo') >>>> >>>> to the top of your script. >>>> >>>> Mike >>>> >>>> David wrote: >>>>> 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 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------ >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> >>>>> >>>>> >>>>> Download Intel® 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 >>>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >> > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------------ Download Intel® 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