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

Reply via email to