適切なUnicodeサポートとチャート
質問
私はPythonでパイやバーのような単純なグラフを作成したい。
私はCairoPlot
とpycha
を試してみました。どちらも、驚くほどに見えるが、彼らは適切にUnicode文字を扱うことができないように思えます。
CairoPlot.pie_plot(name='test.png', width=800, height=600,
data={'eins':100, 'zwei':48, 'drei':90, 'vier':98,u'fünf':187})
fünf
の代わりfünf
になります。
ユニコードのための実証済みのサポートとモジュールを使用して簡単にはありますか?またはあなたがCairoPlot
またはpycha
が正しくユニコードを表示したのですか?
私は、社内のソリューションを好むます。
編集
ironfroggyの答えは、私はこれを試して作られた。
CairoPlot.pie_plot(name='test.png', width=800, height=600,
data={'eins':100, 'zwei':48, 'drei':90, 'vier':98,'f\xc3\xbcnf':187})
これは動作します。
エスケープ非ASCII文字で、ASCII文字列にUnicodeに文字列を変換する安全な方法は何ですか?
の編集2 の
u'fünf'.encode('latin-1')
トリックを行います。ありがとう!
の編集3 の
それは同じように働いていたpychaのために
dataSet = (
('dataSet 1', ((0, 1), (1, 3), (2, 2.5))),
('dataSet 2', ((0, 2), (1, 4), (2, 3))),
(u'dataSet Ü'.encode('latin-1'), ((0, 5), (1, 1), (2, 0.5))),
)
chart = pycha.bar.VerticalBarChart(surface)
chart.addDataset(dataSet)
chart.render()
surface.write_to_png('output.png')
解決
あなたのソースで直接非ASCIIを含むように注意してください。あなたのソースのエンコーディングヒントを含めていますか?
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
そして、もちろん、あなたは必ず、あなたのエディタが正しくエンコードでファイルを保存しているあなたはそれがあると思いますか?最も安全な賭けは、ASCIIでソースを維持すると(XXXXは、あなたのコードポイントです\ uXXXXというような)エスケープ非ASCII文字とユニコード文字列リテラルを行うにはまだです。
他のヒント
私はプロのコンサルテーション時に1
をご提供させていただきます、ゴミユニコードを置き換えるために、サードパーティのライブラリを使用してみてください所属していません StackOverflow