Pregunta

Quiero crear gráficos simples, como las empanadas y bares de pitón.

Probé CairoPlot y pycha. Ambos se ven increíble, pero no parecen ser capaces de manejar adecuadamente los caracteres Unicode.

CairoPlot.pie_plot(name='test.png', width=800, height=600, 
                   data={'eins':100, 'zwei':48, 'drei':90, 'vier':98,u'fünf':187})

Resultado de fünf en lugar de fünf.

¿Hay un módulo de fácil uso con soporte para Unicode probada? o hiciste CairoPlot o pycha muestran los unicodes correctamente?

Yo prefiero solución interna, por lo que Google gráfico no es lo que quiero.

editar

La respuesta de ironfroggy me hizo probar este

CairoPlot.pie_plot(name='test.png', width=800, height=600, 
                   data={'eins':100, 'zwei':48, 'drei':90, 'vier':98,'f\xc3\xbcnf':187})

esto funciona.

¿Qué es una manera segura de convertir Unicode cadenas a cadenas ASCII con caracteres no ASCII de escape?

editar 2

u'fünf'.encode('latin-1')

hace el truco. Gracias!

editar 3

para pycha funcionaba de la misma manera

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')
¿Fue útil?

Solución

Tenga cuidado incluyendo no ASCII directamente en su fuente. ¿Está incluido un indicio de codificación en la fuente?

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

Y, por supuesto, ¿está seguro de que su editor está ahorrando adecuadamente el archivo en la codificación cree que es? La apuesta más segura es todavía para mantener la fuente en ASCII y hacer literales de cadena Unicode con caracteres no ASCII de escape (como \ uxxxx XXXX es el punto de código).

Otros consejos

Trate de usar una biblioteca de terceros para reemplazar el Unicode de basura, voy a ser feliz para ofrecerle un uno sobre el consulation profesional

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top