pygooglechart定义数据编码

发布于 2024-11-01 23:29:22 字数 182 浏览 1 评论 0原文

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

可以执行此操作的函数是什么?

提前致谢

when using chart.add_date([1,2,3,4,5]) it creates the URL with "chd=e:LNYAczgATN5m", it is encoded the data but i want to be of type text as "chd=t:1,2,3,4,5"

What is the function that can do this ?

Thanks in Advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

轮廓§ 2024-11-08 23:29:22

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'

pygooglechart attempts to detect the source data range, and automatically decide what data encoding type to use. See the def data_class_detection() method in the source:

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

To force a certain type of encoding, you can call get_url(self, data_class=None) and specify the data_class as TextData, e.g.:

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'
偷得浮生 2024-11-08 23:29:22

如果你想使用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

if you want to use chart.download() then the data_class option of get_url is not available.

You can use a subclass to work around this problem:

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

and then use this class instead of SimpleLineChart

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文