maybe change the line
"""axim.set_yticklabels(ytics,fontsize=15,family='fantasy')""" to
"""axim.set_yticklabels(ytics,fontsize=15, fontname= "simsun (founder
extended)")"""
(or replace fontname with "simhei" or "microsoft yahei") is enough.


or, put these two lines:
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

there is a Chinese blog (not mine) maybe worth  reading:
http://hi.baidu.com/lijiangshui/blog/item/a0aad703cd65ee7e3812bb49.html

hope this help

On Mon, Oct 11, 2010 at 3:13 AM, Benoit Gaillard
<benoit.gaill...@univ-tlse2.fr> wrote:
> Hi,
>
> How can one display Mandarin labels in a plot, as yticks_labels for example?
> It looks to me that there is no font in matplotlib that can display Chinese
> characters? I can display accentuation from 'utf8' but i could not find a
> font family that would display Chinese characters.
>
> Here is an example of plot that displays empty boxes instead of Chinese
> characters. In comments you can see various failed attempts:
>
> import matplotlib as mpl
> from matplotlib import cm
> from matplotlib import rc
> #rc('font',**{'family':'sans-serif','sans-serif':['SimHei','Arial']})
> #mpl.rcParams['font.sans-serif'] = ['SimHei','Arial']
> import matplotlib.pyplot as plt
>
> matrix=[[skey+tkey for skey in [1,2]] for tkey in [1,2]]
> fig = plt.figure()
> axim = fig.add_subplot(111)
> #ytics: caractères chinois en utf8
> ytics=['\xe6\x8a\xb1'.decode('utf8'),'\xe6\x93\x81'.decode('utf8')]
> xtics=['d\xc3\xa9bo\xc3\xaeter'.decode('utf8'),'diviser'.decode('utf8')]
> axim.imshow(matrix, cmap=cm.jet, interpolation='nearest',origin='lower')
> axim.set_xticks(range(2))
> axim.set_xticklabels(xtics,fontsize=15,rotation=25,ha='right',family='monospace')
> axim.set_yticks(range(2))
> axim.set_yticklabels(ytics,fontsize=15,family='fantasy')#,fontname='AR PL
> ungtiL GB')
> plt.show()
>
> Thank you for your help,
>
> Benoit
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> Hi,
>
> How can one display mandarin labels in a plot, as yticks_labels for example?
> It looks to me that there is no font in matplotlib that can display chinese
> characters? I can display accentuation from 'utf8' but i could not find a
> font family that would display chinese characters.
>
> Here is an example of plot that displays empty boxes instead of chinese
> characters. In comment you can see various failed attempts:
>
> import matplotlib as mpl
> from matplotlib import cm
> from matplotlib import rc
> #rc('font',**{'family':'sans-serif','sans-serif':['SimHei','Arial']})
> #mpl.rcParams['font.sans-serif'] = ['SimHei','Arial']
> import matplotlib.pyplot as plt
>
>     matrix=[[skey+tkey for skey in [1,2]] for tkey in [1,2]]
>     fig = plt.figure()
>     axim = fig.add_subplot(111)
>     #ytics: caractères chinois en utf8
>     ytics=['\xe6\x8a\xb1'.decode('utf8'),'\xe6\x93\x81'.decode('utf8')]
>     xtics=['d\xc3\xa9bo\xc3\xaeter'.decode('utf8'),'diviser'.decode('utf8')]
>     axim.imshow(matrix, cmap=cm.jet, interpolation='nearest',
> origin='lower')
>     axim.set_xticks(range(2))
>     axim.set_xticklabels(xtics,
> fontsize=15,rotation=25,ha='right',family='monospace')
>     axim.set_yticks(range(2))
>     axim.set_yticklabels(ytics,fontsize=15,family='fantasy')#,fontname='AR
> PL SungtiL GB')
>     plt.show()
>
> Thank you for your help,
>
> Benoit
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
> Spend less time writing and  rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to