2016-07-12 17 views
0

einfacher Befehl, den ich versuche zu laufen:Wie zeichnet man ein Diagramm in SAGE mit nicht-englischen Symbolen?

sage: Graph({'Б':[1,2]}).plot().save('/tmp.plot.png') 

versagt:

/usr/lib/sagemath/local/lib/python2.7/site-packages/matplotlib-1.5.1-py2.7-linux-x86_64.egg/matplotlib/text.py in set_text(self, s) 
    1204   ACCEPTS: string or anything printable with '%s' conversion. 
    1205   """ 
-> 1206   self._text = '%s' % (s,) 
    1207   self.stale = True 
    1208 

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) 

jemand dabei helfen?

SageMath Version 7.2, Release Date: 2016-05-15

+0

Siehe auch http://ask.sagemath.org/question/34071/is-there-a-way-to-use-no-english-symbols/ – kcrisman

Antwort

1

Anscheinend ist die Art, wie wir matplotlib verwenden keine Nicht-ASCII-Zeichenkette ermöglichen. Siehe Trac 21008.

Update: Dieses Ticket hat jetzt eine fixe und positive Überprüfung, also wird es hoffentlich in Sage 7.3 oder möglicherweise 7,4 sein, je nachdem wie schnell 7.3 rauskommt.

+0

Also Bug ist in Sage, nicht Matplotlib? – Sergey

+1

Nicht genau. Siehe http://stackoverflow.com/questions/10960463/non-ascii-characters-in-matplotlib und https://trac.sagemath.org/ticket/21008#comment:1 - Sie müssen dies als Unicode-String übergeben ausdrücklich. – kcrisman