1

当使用chart.add_date([1,2,3,4,5])它创建带有“”的 URL 时chd=e:LNYAczgATN5m,它对数据进行编码,但我希望将文本类型设为“ chd=t:1,2,3,4,5

可以做到这一点的功能是什么?

提前致谢

4

2 回答 2

1

pygooglechart 尝试检测源数据范围,并自动决定使用哪种数据编码类型。见def data_class_detection()源码中的方法:

https://github.com/gak/pygooglechart/blob/master/pygooglechart.py#L518

要强制某种类型的编码,您可以调用get_url(self, data_class=None)并指定data_classas TextData,例如:

import pygooglechart as pygc
chart = pygc.SimpleLineChart(250, 100)
chart.add_data([1, 3, 2, 4, 5])

>>> chart.get_url(data_class=pygc.TextData)
'http://chart.apis.google.com/chart?cht=lc&chs=250x100&chd=t:0.0,40.0,20.0,60.0,80.0'

>>> chart.get_url()
'http://chart.apis.google.com/chart?cht=lc&chs=250x100&chd=e:AAMzZmmZzM'
于 2011-06-20T03:20:37.320 回答
0

如果你想使用 chart.download() 那么 get_url 的 data_class 选项不可用。

您可以使用子类来解决此问题:

# force the TextData type for any data (real number instead of aabaa)
class LineChart(SimpleLineChart):
   def data_class_detection(self, data):
       return TextData

然后使用这个类而不是 SimpleLineChart

于 2011-11-09T16:21:58.797 回答