Pygooglechart определить кодировку данных - PullRequest
1 голос
/ 19 апреля 2011

при использовании chart.add_date([1,2,3,4,5]) он создает URL с "chd=e:LNYAczgATN5m", кодирует данные, но я хочу, чтобы текст был типа "chd=t:1,2,3,4,5"

Какая функция может это сделать?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 20 июня 2011

pygooglechart пытается определить диапазон исходных данных и автоматически решить, какой тип кодировки данных использовать.См. Метод def data_class_detection() в источнике:

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

Для принудительного кодирования определенного типа вы можете вызвать 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'
0 голосов
/ 09 ноября 2011

если вы хотите использовать 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

...