python - 具有适当 unicode 支持的图表

标签 python unicode encoding charts cairoplot

我想在 python 中创建简单的图表,例如饼图和条形图。

我尝试了 CairoPlotpycha。两者看起来都很棒,但它们似乎无法正确处理 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

是否有一个易于使用且经过验证的 unicode 支持的模块?或者您是否使 CairoPlotpycha 正确显示 unicode?

我更喜欢内部解决方案,因此谷歌图表不是我想要的。

编辑

ironfroggy的回答让我尝试这个

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

这有效。

将 unicode 字符串转换为带有转义非 ascii 字符的 ascii 字符串的安全方法是什么?

编辑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 并使用转义的非 ASCII 字符执行 unicode 字符串文字(例如\UXXXX,其中 XXXX 是您的代码点)。

关于python - 具有适当 unicode 支持的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460587/

相关文章:

delphi - 如何将空终止字符串转换为 AnsiString?

regex - 在 Swift 中匹配字符串,其中字符不同但包含相同的 Unicode 标量

c# - 将 C# 控制台应用程序设置为 Unicode 输出

php - 使用 json_encode 从 XML 转换为 json 会弄乱字符串的编码

python - 如何将索引 "prefix"与 Pandas 系列中的数据组合?有人创建一个 numpy 数组吗?

python - 多 FASTA 文件序列的成对比对

python - sklearn 管道的并行化

Python Beautiful Soup 'ascii' 编解码器无法编码字符 u'\xa5'

mysql - 以 UTF 8 格式将数据插入 MYSQL 时出现问题

java - 使用 JmsTemplate 发送到 ActiveMQ 时出现文本消息编码问题