Я хочу создать простые диаграммы, такие как пироги и бары в Python.
Я опробовал CairoPlot
и pycha
. Оба выглядят потрясающе, но, похоже, они не способны правильно обрабатывать символы Юникода.
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 символами?
редактировать 2
u'fünf'.encode('latin-1')
делает свое дело. Спасибо!
редактировать 3
для пыча это работает так же
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')