Ask Your Question
0

Why Sage can not plot Chinese label

asked 12 years ago

updated 6 years ago

FrédéricC gravatar image

I know that Matplotlib does not support UTF-8 without some change in matplotlibrc,So I edit the matplotlibrc and now when plot with matplotlib in sagenb,it supports UTF-8 now and it can show Chinese now.
But for the sage plot function, when I want to set label with some Chinese characters,it raise exception :
UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' in position 0: ordinal not in range(128).
After I set the default encoding to UTF-8 in site.py,this exception does not raise again,but the Chinese characters are shown as box like []. Below is my code:

p1=plot(sin,(-2*pi,2*pi),thickness=2.0,rgbcolor=(0.5,1,0),legend_label='sin(x)')
p2=plot(cos,(-2*pi,2*pi),thickness=3.0,color='purple',alpha=0.5,legend_label='cos(x)')
plt=p1+p2
x = u'\xd6\xd0\xb9\xfa\xc8\xcb'

plt.axes_labels((x,'y'))
show(plt)

Is there any solution? I am sorry, it seems that this web site does not support Chinese, so I change the x

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 12 years ago

Preview: (hide)
link

Comments

Though you may want to post a summary here. Also, can you think of a way of dealing with the matplotlibrc issue directly in Sage?

kcrisman gravatar imagekcrisman ( 12 years ago )

Yes , it is my pleasure.But I don't know how to do so, as I have no experience on software development. Is it ok to send Email to you to submit my solution?

shahuwang gravatar imageshahuwang ( 12 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 12 years ago

Seen: 610 times

Last updated: Jun 25 '12