при использовании 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])
chd=e:LNYAczgATN5m
chd=t:1,2,3,4,5
Какая функция может это сделать?
Заранее спасибо
pygooglechart пытается определить диапазон исходных данных и автоматически решить, какой тип кодировки данных использовать.См. Метод def data_class_detection() в источнике:
def data_class_detection()
https://github.com/gak/pygooglechart/blob/master/pygooglechart.py#L518
Для принудительного кодирования определенного типа вы можете вызвать get_url(self, data_class=None) и указать data_class как TextData,Например:
get_url(self, data_class=None)
data_class
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 (), тогда опция data_class в get_url недоступна.
Вы можете использовать подкласс для решения этой проблемы:
# force the TextData type for any data (real number instead of aabaa) class LineChart(SimpleLineChart): def data_class_detection(self, data): return TextData
изатем используйте этот класс вместо SimpleLineChart