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. |
From: Michael D. <md...@st...> - 2010-10-11 16:31:55
|
On 10/10/2010 03:13 PM, Benoit Gaillard 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') Why are you setting the font family to "monospace" and "fantasy" here? You need to set the font to something that will have the Chinese characters, for example, by uncommenting the lines that set sans-serif to "SimHei" above. (That should work, but I don't have a Chinese font on my system to test with.) Mike > 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA |
From: sunqiang <sun...@gm...> - 2010-10-12 07:04:26
|
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 <ben...@un...> 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Benoit G. <ben...@un...> - 2010-10-12 14:41:14
|
Thank you for your help, but it does not seem to work. I have downloaded simhei fonts and added it in my directory /usr/shared/fonts/truetype but even by using """fontname="simhei" """, or: """mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False """ i still display empty boxes instead of chinese characters. It is worth noting that these chinese characters print well on the console if i add the line: """for ytic in ytics: print ytic""" Unfortunately, apart from copying lines of code, i cannot do much with the blog you mention, as i don't understand what is written in it. @Mike: "monospace" family is one that enables me to display accents of french words, for the xticks. "fantasy" family was the last family i tried for the chinese labels, but to no success. So, has anyone managed to do it? Is there something i am missing?, regards, Benoit. Quoting sunqiang <sun...@gm...>: > 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 > <ben...@un...> 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 >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: sunqiang <sun...@gm...> - 2010-10-13 02:29:57
|
oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" are fontname on Windows Platform. maybe just copy "Sim Hei" to font directory is not enough? no clue here. I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib 0.98.4) with the follow steps: 1, find the configure directory of matplotlib import matplotlib as mpl mpl.get_configdir() return "~/.matplotlib" 2, in the configure directory, there is a file "fontList.cache" I find this (dp294 ... S'WenQuanYi Zen Hei' ... S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' ... I just know WenQuanYi is a "Chinese font" http://packages.ubuntu.com/hardy/ttf-wqy-zenhei 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", now it can display Chinese. both methods still work(embed fontname argument, or set mpl.rcParams['font.sans-serif']) maybe you can find a font that support Chinese character on your platform with these steps and try again? On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard <ben...@un...> wrote: > Thank you for your help, > > but it does not seem to work. > > I have downloaded simhei fonts and added it in my directory > /usr/shared/fonts/truetype but even by using > """fontname="simhei" """, > or: > """mpl.rcParams['font.sans-serif'] = ['SimHei'] > mpl.rcParams['axes.unicode_minus'] = False """ > > i still display empty boxes instead of chinese characters. > > It is worth noting that these chinese characters print well on the console > if i add the line: > """for ytic in ytics: > print ytic""" > > Unfortunately, apart from copying lines of code, i cannot do much with the > blog you mention, as i don't understand what is written in it. > > @Mike: "monospace" family is one that enables me to display accents of > french words, for the xticks. "fantasy" family was the last family i tried > for the chinese labels, but to no success. > > So, has anyone managed to do it? Is there something i am missing?, > > regards, > > Benoit. > > Quoting sunqiang <sun...@gm...>: > >> 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 >> <ben...@un...> 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 >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >>> >> > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > |
From: Benoit G. <ben...@un...> - 2010-10-13 09:10:07
|
Hi, When looking in my fontFile.cache, i did not find any of '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf', '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf' or simhei. this is why i could not display the characters. I deleted the cache and re-lounched my script, so that mpl had to look for the fonts and update the cache. It added the simhei fonts to the list. I can now display chinese characters with the simhei font. I ran into 2 more issues: - Simhei "has no glyph names", which prevents me from exporting into pdf - I do not manage to make mpl take into account microhei and zenhei, whereas i have them in '/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'. I changed their name to '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf', and now mpl finds them. However they fail to display chinese characters So, thank you for your help, i managed to display chinese characters but there are still some issues. Do you have any idea? Benoit Quoting sunqiang <sun...@gm...>: > oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" > are fontname on Windows Platform. > maybe just copy "Sim Hei" to font directory is not enough? no clue here. > > I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib > 0.98.4) with the follow steps: > 1, find the configure directory of matplotlib > import matplotlib as mpl > mpl.get_configdir() > > return "~/.matplotlib" > 2, in the configure directory, there is a file "fontList.cache" > I find this > (dp294 > ... > S'WenQuanYi Zen Hei' > ... > S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' > ... > > I just know WenQuanYi is a "Chinese font" > http://packages.ubuntu.com/hardy/ttf-wqy-zenhei > 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", > now it can display Chinese. > both methods still work(embed fontname argument, or set > mpl.rcParams['font.sans-serif']) > > maybe you can find a font that support Chinese character on your > platform with these steps and try again? > > On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard > <ben...@un...> wrote: >> Thank you for your help, >> >> but it does not seem to work. >> >> I have downloaded simhei fonts and added it in my directory >> /usr/shared/fonts/truetype but even by using >> """fontname="simhei" """, >> or: >> """mpl.rcParams['font.sans-serif'] = ['SimHei'] >> mpl.rcParams['axes.unicode_minus'] = False """ >> >> i still display empty boxes instead of chinese characters. >> >> It is worth noting that these chinese characters print well on the console >> if i add the line: >> """for ytic in ytics: >> print ytic""" >> >> Unfortunately, apart from copying lines of code, i cannot do much with the >> blog you mention, as i don't understand what is written in it. >> >> @Mike: "monospace" family is one that enables me to display accents of >> french words, for the xticks. "fantasy" family was the last family i tried >> for the chinese labels, but to no success. >> >> So, has anyone managed to do it? Is there something i am missing?, >> >> regards, >> >> Benoit. >> >> Quoting sunqiang <sun...@gm...>: >> >>> 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 >>> <ben...@un...> 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 >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>>> >>> >> >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> >> > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: Benoit G. <ben...@un...> - 2010-10-13 09:30:18
|
Actually, i must apologize By calling fonts by their real name eg: "WenQuanYi Zen Hei" (instead of wqy-microhei, their file name), i can display them. So no worries for issue 2. However, I do not manage to export the png to pdf or eps due to the following error: "TrueType font is missing table" Is that due to my changing the font name from *.ttc to *.ttf? regards, benoit Quoting Benoit Gaillard <ben...@un...>: > Hi, > > When looking in my fontFile.cache, i did not find any of > '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf', > '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf' or simhei. this is why > i could not display the characters. > > I deleted the cache and re-lounched my script, so that mpl had to look > for the fonts and update the cache. It added the simhei fonts to the > list. I can now display chinese characters with the simhei font. > > I ran into 2 more issues: > - Simhei "has no glyph names", which prevents me from exporting into pdf > - I do not manage to make mpl take into account microhei and zenhei, > whereas i have them in > '/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'. I changed their name > to '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf', and now mpl finds > them. However they fail to display chinese characters > > So, thank you for your help, i managed to display chinese characters > but there are still some issues. Do you have any idea? > > Benoit > > > Quoting sunqiang <sun...@gm...>: > >> oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" >> are fontname on Windows Platform. >> maybe just copy "Sim Hei" to font directory is not enough? no clue here. >> >> I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib >> 0.98.4) with the follow steps: >> 1, find the configure directory of matplotlib >> import matplotlib as mpl >> mpl.get_configdir() >> >> return "~/.matplotlib" >> 2, in the configure directory, there is a file "fontList.cache" >> I find this >> (dp294 >> ... >> S'WenQuanYi Zen Hei' >> ... >> S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' >> ... >> >> I just know WenQuanYi is a "Chinese font" >> http://packages.ubuntu.com/hardy/ttf-wqy-zenhei >> 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", >> now it can display Chinese. >> both methods still work(embed fontname argument, or set >> mpl.rcParams['font.sans-serif']) >> >> maybe you can find a font that support Chinese character on your >> platform with these steps and try again? >> >> On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard >> <ben...@un...> wrote: >>> Thank you for your help, >>> >>> but it does not seem to work. >>> >>> I have downloaded simhei fonts and added it in my directory >>> /usr/shared/fonts/truetype but even by using >>> """fontname="simhei" """, >>> or: >>> """mpl.rcParams['font.sans-serif'] = ['SimHei'] >>> mpl.rcParams['axes.unicode_minus'] = False """ >>> >>> i still display empty boxes instead of chinese characters. >>> >>> It is worth noting that these chinese characters print well on the console >>> if i add the line: >>> """for ytic in ytics: >>> print ytic""" >>> >>> Unfortunately, apart from copying lines of code, i cannot do much with the >>> blog you mention, as i don't understand what is written in it. >>> >>> @Mike: "monospace" family is one that enables me to display accents of >>> french words, for the xticks. "fantasy" family was the last family i tried >>> for the chinese labels, but to no success. >>> >>> So, has anyone managed to do it? Is there something i am missing?, >>> >>> regards, >>> >>> Benoit. >>> >>> Quoting sunqiang <sun...@gm...>: >>> >>>> 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 >>>> <ben...@un...> 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 >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>> >>>>> >>>> >>> >>> >>> >>> ---------------------------------------------------------------- >>> This message was sent using IMP, the Internet Messaging Program. >>> >>> >> > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: sunqiang <sun...@gm...> - 2010-10-14 03:03:00
|
On Wed, Oct 13, 2010 at 5:30 PM, Benoit Gaillard <ben...@un...> wrote: > Actually, i must apologize > > By calling fonts by their real name eg: "WenQuanYi Zen Hei" (instead of > wqy-microhei, their file name), i can display them. So no worries for issue > 2. However, I do not manage to export the png to pdf or eps due to the > following error: > > "TrueType font is missing table" > > Is that due to my changing the font name from *.ttc to *.ttf? the "c" in ".ttc" means "Container", wqy-*.ttc includes more than one ttf. so, maybe just rename *.ttc to *.ttf is not enough. I guess, You can find some font tools to extract ttf from ttc, or install another Chinese font provided by your operation system. or just download the ttf version from http://packages.ubuntu.com/hardy/ttf-wqy-zenhei (directly: http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-wqy-zenhei/ttf-wqy-zenhei_0.5.23.orig.tar.gz) I don't know font enough, so I didn't test the first method. I only test the last method. after download the font into my Window machine. it can display Chinese with "'WenQuanYi Zen Hei'" and save figure to png and pdf.(ps, eps doesn't work, even without a error log"). (my Linux machine(Ubuntu Hardy 8.04) can display Chinese and save figure to png, pdf, ps, eps correctly already.) > > regards, > > benoit > > > Quoting Benoit Gaillard <ben...@un...>: > >> Hi, >> >> When looking in my fontFile.cache, i did not find any of >> '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf', >> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf' or simhei. this is why >> i could not display the characters. >> >> I deleted the cache and re-lounched my script, so that mpl had to look >> for the fonts and update the cache. It added the simhei fonts to the >> list. I can now display chinese characters with the simhei font. >> >> I ran into 2 more issues: >> - Simhei "has no glyph names", which prevents me from exporting into pdf >> - I do not manage to make mpl take into account microhei and zenhei, >> whereas i have them in >> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'. I changed their name >> to '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf', and now mpl finds >> them. However they fail to display chinese characters >> >> So, thank you for your help, i managed to display chinese characters >> but there are still some issues. Do you have any idea? >> >> Benoit >> >> >> Quoting sunqiang <sun...@gm...>: >> >>> oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" >>> are fontname on Windows Platform. >>> maybe just copy "Sim Hei" to font directory is not enough? no clue here. >>> >>> I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib >>> 0.98.4) with the follow steps: >>> 1, find the configure directory of matplotlib >>> import matplotlib as mpl >>> mpl.get_configdir() >>> >>> return "~/.matplotlib" >>> 2, in the configure directory, there is a file "fontList.cache" >>> I find this >>> (dp294 >>> ... >>> S'WenQuanYi Zen Hei' >>> ... >>> S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' >>> ... >>> >>> I just know WenQuanYi is a "Chinese font" >>> http://packages.ubuntu.com/hardy/ttf-wqy-zenhei >>> 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", >>> now it can display Chinese. >>> both methods still work(embed fontname argument, or set >>> mpl.rcParams['font.sans-serif']) >>> >>> maybe you can find a font that support Chinese character on your >>> platform with these steps and try again? >>> >>> On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard >>> <ben...@un...> wrote: >>>> >>>> Thank you for your help, >>>> >>>> but it does not seem to work. >>>> >>>> I have downloaded simhei fonts and added it in my directory >>>> /usr/shared/fonts/truetype but even by using >>>> """fontname="simhei" """, >>>> or: >>>> """mpl.rcParams['font.sans-serif'] = ['SimHei'] >>>> mpl.rcParams['axes.unicode_minus'] = False """ >>>> >>>> i still display empty boxes instead of chinese characters. >>>> >>>> It is worth noting that these chinese characters print well on the >>>> console >>>> if i add the line: >>>> """for ytic in ytics: >>>> print ytic""" >>>> >>>> Unfortunately, apart from copying lines of code, i cannot do much with >>>> the >>>> blog you mention, as i don't understand what is written in it. >>>> >>>> @Mike: "monospace" family is one that enables me to display accents of >>>> french words, for the xticks. "fantasy" family was the last family i >>>> tried >>>> for the chinese labels, but to no success. >>>> >>>> So, has anyone managed to do it? Is there something i am missing?, >>>> >>>> regards, >>>> >>>> Benoit. >>>> >>>> Quoting sunqiang <sun...@gm...>: >>>> >>>>> 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 >>>>> <ben...@un...> 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 >>>>>> Mat...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>>> >>>>>> >>>>> >>>> >>>> >>>> >>>> ---------------------------------------------------------------- >>>> This message was sent using IMP, the Internet Messaging Program. >>>> >>>> >>> >> >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > |
From: Benoit G. <ben...@un...> - 2010-10-14 08:04:16
|
Thank you very much it all works fine now, I downloaded and installed the font in http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-wqy-zenhei/ttf-wqy-zenhei_0.5.23.orig.tar.gz, as you advised. Then i deleted the fontList.cache de matplotlib to force its updating, and ran the script with """ fontname="WenQuanYi Zen Hei" """ I can now display the characters and save the plots as pdf. Thanks a lot for you wise help, i learned a lot. Benoit Quoting sunqiang <sun...@gm...>: > On Wed, Oct 13, 2010 at 5:30 PM, Benoit Gaillard > <ben...@un...> wrote: >> Actually, i must apologize >> >> By calling fonts by their real name eg: "WenQuanYi Zen Hei" (instead of >> wqy-microhei, their file name), i can display them. So no worries for issue >> 2. However, I do not manage to export the png to pdf or eps due to the >> following error: >> >> "TrueType font is missing table" >> >> Is that due to my changing the font name from *.ttc to *.ttf? > the "c" in ".ttc" means "Container", wqy-*.ttc includes more than one ttf. > so, maybe just rename *.ttc to *.ttf is not enough. > I guess, You can find some font tools to extract ttf from ttc, or > install another Chinese font provided by your operation system. or > just download the ttf version from > http://packages.ubuntu.com/hardy/ttf-wqy-zenhei (directly: > http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-wqy-zenhei/ttf-wqy-zenhei_0.5.23.orig.tar.gz) > I don't know font enough, so I didn't test the first method. I only > test the last method. > after download the font into my Window machine. it can display Chinese > with "'WenQuanYi Zen Hei'" and save figure to png and pdf.(ps, eps > doesn't work, even without a error log"). > (my Linux machine(Ubuntu Hardy 8.04) can display Chinese and save > figure to png, pdf, ps, eps correctly already.) >> >> regards, >> >> benoit >> >> >> Quoting Benoit Gaillard <ben...@un...>: >> >>> Hi, >>> >>> When looking in my fontFile.cache, i did not find any of >>> '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf', >>> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf' or simhei. this is why >>> i could not display the characters. >>> >>> I deleted the cache and re-lounched my script, so that mpl had to look >>> for the fonts and update the cache. It added the simhei fonts to the >>> list. I can now display chinese characters with the simhei font. >>> >>> I ran into 2 more issues: >>> - Simhei "has no glyph names", which prevents me from exporting into pdf >>> - I do not manage to make mpl take into account microhei and zenhei, >>> whereas i have them in >>> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'. I changed their name >>> to '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf', and now mpl finds >>> them. However they fail to display chinese characters >>> >>> So, thank you for your help, i managed to display chinese characters >>> but there are still some issues. Do you have any idea? >>> >>> Benoit >>> >>> >>> Quoting sunqiang <sun...@gm...>: >>> >>>> oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" >>>> are fontname on Windows Platform. >>>> maybe just copy "Sim Hei" to font directory is not enough? no clue here. >>>> >>>> I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib >>>> 0.98.4) with the follow steps: >>>> 1, find the configure directory of matplotlib >>>> import matplotlib as mpl >>>> mpl.get_configdir() >>>> >>>> return "~/.matplotlib" >>>> 2, in the configure directory, there is a file "fontList.cache" >>>> I find this >>>> (dp294 >>>> ... >>>> S'WenQuanYi Zen Hei' >>>> ... >>>> S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' >>>> ... >>>> >>>> I just know WenQuanYi is a "Chinese font" >>>> http://packages.ubuntu.com/hardy/ttf-wqy-zenhei >>>> 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", >>>> now it can display Chinese. >>>> both methods still work(embed fontname argument, or set >>>> mpl.rcParams['font.sans-serif']) >>>> >>>> maybe you can find a font that support Chinese character on your >>>> platform with these steps and try again? >>>> >>>> On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard >>>> <ben...@un...> wrote: >>>>> >>>>> Thank you for your help, >>>>> >>>>> but it does not seem to work. >>>>> >>>>> I have downloaded simhei fonts and added it in my directory >>>>> /usr/shared/fonts/truetype but even by using >>>>> """fontname="simhei" """, >>>>> or: >>>>> """mpl.rcParams['font.sans-serif'] = ['SimHei'] >>>>> mpl.rcParams['axes.unicode_minus'] = False """ >>>>> >>>>> i still display empty boxes instead of chinese characters. >>>>> >>>>> It is worth noting that these chinese characters print well on the >>>>> console >>>>> if i add the line: >>>>> """for ytic in ytics: >>>>> print ytic""" >>>>> >>>>> Unfortunately, apart from copying lines of code, i cannot do much with >>>>> the >>>>> blog you mention, as i don't understand what is written in it. >>>>> >>>>> @Mike: "monospace" family is one that enables me to display accents of >>>>> french words, for the xticks. "fantasy" family was the last family i >>>>> tried >>>>> for the chinese labels, but to no success. >>>>> >>>>> So, has anyone managed to do it? Is there something i am missing?, >>>>> >>>>> regards, >>>>> >>>>> Benoit. >>>>> >>>>> Quoting sunqiang <sun...@gm...>: >>>>> >>>>>> 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 >>>>>> <ben...@un...> 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 >>>>>>> Mat...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> ---------------------------------------------------------------- >>>>> This message was sent using IMP, the Internet Messaging Program. >>>>> >>>>> >>>> >>> >>> >>> >>> ---------------------------------------------------------------- >>> This message was sent using IMP, the Internet Messaging Program. >> >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> >> > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: sunqiang <sun...@gm...> - 2010-10-15 01:57:58
|
You are welcome, glad to help. On Thu, Oct 14, 2010 at 4:04 PM, Benoit Gaillard <ben...@un...> wrote: > Thank you very much it all works fine now, > > I downloaded and installed the font in > http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-wqy-zenhei/ttf-wqy-zenhei_0.5.23.orig.tar.gz, > as you advised. Then i deleted the fontList.cache de matplotlib to force its > updating, and ran the script with """ fontname="WenQuanYi Zen Hei" """ > > I can now display the characters and save the plots as pdf. > > Thanks a lot for you wise help, i learned a lot. > > Benoit > > > Quoting sunqiang <sun...@gm...>: > >> On Wed, Oct 13, 2010 at 5:30 PM, Benoit Gaillard >> <ben...@un...> wrote: >>> >>> Actually, i must apologize >>> >>> By calling fonts by their real name eg: "WenQuanYi Zen Hei" (instead of >>> wqy-microhei, their file name), i can display them. So no worries for >>> issue >>> 2. However, I do not manage to export the png to pdf or eps due to the >>> following error: >>> >>> "TrueType font is missing table" >>> >>> Is that due to my changing the font name from *.ttc to *.ttf? >> >> the "c" in ".ttc" means "Container", wqy-*.ttc includes more than one ttf. >> so, maybe just rename *.ttc to *.ttf is not enough. >> I guess, You can find some font tools to extract ttf from ttc, or >> install another Chinese font provided by your operation system. or >> just download the ttf version from >> http://packages.ubuntu.com/hardy/ttf-wqy-zenhei (directly: >> >> http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-wqy-zenhei/ttf-wqy-zenhei_0.5.23.orig.tar.gz) >> I don't know font enough, so I didn't test the first method. I only >> test the last method. >> after download the font into my Window machine. it can display Chinese >> with "'WenQuanYi Zen Hei'" and save figure to png and pdf.(ps, eps >> doesn't work, even without a error log"). >> (my Linux machine(Ubuntu Hardy 8.04) can display Chinese and save >> figure to png, pdf, ps, eps correctly already.) >>> >>> regards, >>> >>> benoit >>> >>> >>> Quoting Benoit Gaillard <ben...@un...>: >>> >>>> Hi, >>>> >>>> When looking in my fontFile.cache, i did not find any of >>>> '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf', >>>> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf' or simhei. this is why >>>> i could not display the characters. >>>> >>>> I deleted the cache and re-lounched my script, so that mpl had to look >>>> for the fonts and update the cache. It added the simhei fonts to the >>>> list. I can now display chinese characters with the simhei font. >>>> >>>> I ran into 2 more issues: >>>> - Simhei "has no glyph names", which prevents me from exporting into pdf >>>> - I do not manage to make mpl take into account microhei and zenhei, >>>> whereas i have them in >>>> '/usr/share/fonts/truetype/wqy/wqy-microhei.ttc'. I changed their name >>>> to '/usr/share/fonts/truetype/wqy/wqy-microhei.ttf', and now mpl finds >>>> them. However they fail to display chinese characters >>>> >>>> So, thank you for your help, i managed to display chinese characters >>>> but there are still some issues. Do you have any idea? >>>> >>>> Benoit >>>> >>>> >>>> Quoting sunqiang <sun...@gm...>: >>>> >>>>> oh, only test it on Windows yet. both "sim hei"and "microsoft yahei" >>>>> are fontname on Windows Platform. >>>>> maybe just copy "Sim Hei" to font directory is not enough? no clue >>>>> here. >>>>> >>>>> I just test the script on Linux (Ubuntu 8.04, Python 2.5, matplotlib >>>>> 0.98.4) with the follow steps: >>>>> 1, find the configure directory of matplotlib >>>>> import matplotlib as mpl >>>>> mpl.get_configdir() >>>>> >>>>> return "~/.matplotlib" >>>>> 2, in the configure directory, there is a file "fontList.cache" >>>>> I find this >>>>> (dp294 >>>>> ... >>>>> S'WenQuanYi Zen Hei' >>>>> ... >>>>> S'/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf' >>>>> ... >>>>> >>>>> I just know WenQuanYi is a "Chinese font" >>>>> http://packages.ubuntu.com/hardy/ttf-wqy-zenhei >>>>> 3, replace "Sim Hei" in your original script with "WenQuanYi Zen Hei", >>>>> now it can display Chinese. >>>>> both methods still work(embed fontname argument, or set >>>>> mpl.rcParams['font.sans-serif']) >>>>> >>>>> maybe you can find a font that support Chinese character on your >>>>> platform with these steps and try again? >>>>> >>>>> On Tue, Oct 12, 2010 at 10:41 PM, Benoit Gaillard >>>>> <ben...@un...> wrote: >>>>>> >>>>>> Thank you for your help, >>>>>> >>>>>> but it does not seem to work. >>>>>> >>>>>> I have downloaded simhei fonts and added it in my directory >>>>>> /usr/shared/fonts/truetype but even by using >>>>>> """fontname="simhei" """, >>>>>> or: >>>>>> """mpl.rcParams['font.sans-serif'] = ['SimHei'] >>>>>> mpl.rcParams['axes.unicode_minus'] = False """ >>>>>> >>>>>> i still display empty boxes instead of chinese characters. >>>>>> >>>>>> It is worth noting that these chinese characters print well on the >>>>>> console >>>>>> if i add the line: >>>>>> """for ytic in ytics: >>>>>> print ytic""" >>>>>> >>>>>> Unfortunately, apart from copying lines of code, i cannot do much with >>>>>> the >>>>>> blog you mention, as i don't understand what is written in it. >>>>>> >>>>>> @Mike: "monospace" family is one that enables me to display accents of >>>>>> french words, for the xticks. "fantasy" family was the last family i >>>>>> tried >>>>>> for the chinese labels, but to no success. >>>>>> >>>>>> So, has anyone managed to do it? Is there something i am missing?, >>>>>> >>>>>> regards, >>>>>> >>>>>> Benoit. >>>>>> >>>>>> Quoting sunqiang <sun...@gm...>: >>>>>> >>>>>>> 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 >>>>>>> <ben...@un...> 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 >>>>>>>> Mat...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ---------------------------------------------------------------- >>>>>> This message was sent using IMP, the Internet Messaging Program. >>>>>> >>>>>> >>>>> >>>> >>>> >>>> >>>> ---------------------------------------------------------------- >>>> This message was sent using IMP, the Internet Messaging Program. >>> >>> >>> >>> ---------------------------------------------------------------- >>> This message was sent using IMP, the Internet Messaging Program. >>> >>> >> > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > |