From: Benoit G. <ben...@un...> - 2010-10-10 19:13:59
|
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. |