当使用chart.add_date([1,2,3,4,5])
它创建带有“”的 URL 时chd=e:LNYAczgATN5m
,它对数据进行编码,但我希望将文本类型设为“ chd=t:1,2,3,4,5
”
可以做到这一点的功能是什么?
提前致谢
当使用chart.add_date([1,2,3,4,5])
它创建带有“”的 URL 时chd=e:LNYAczgATN5m
,它对数据进行编码,但我希望将文本类型设为“ chd=t:1,2,3,4,5
”
可以做到这一点的功能是什么?
提前致谢
pygooglechart 尝试检测源数据范围,并自动决定使用哪种数据编码类型。见def data_class_detection()
源码中的方法:
https://github.com/gak/pygooglechart/blob/master/pygooglechart.py#L518
要强制某种类型的编码,您可以调用get_url(self, data_class=None)
并指定data_class
as 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'
如果你想使用 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