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

Reply via email to