【问题标题】:Google Chart API: trouble with rendering a XYLine graphGoogle Chart API:渲染 XYLine 图表时遇到问题
【发布时间】:2010-10-03 16:24:10
【问题描述】:

我正在尝试通过记录不充分的GChartWrapper 库与Google Chart API 一起创建XYLine

这是应该生成图表的部分代码:

data = []
traffic_max = 0
date_minmax = []

#I have a number of timestamped readings in two series
for site in sites:
  site_data = get_datapoints_for(site)

  date_values = [datetime_to_unix(item.timestamp) for item in site_data]
  date_minmax = minmax(date_minmax + date_values) #get min and max values for
                                                  #scaling
  traffic_values = [item.traffic for item in site_data]
  traffic_max = max(traffic_max, *traffic_values) #just get maximum for readings

  #build graph
  data.append(date_values)
  data.append(traffic_values)

#add leeway to axes
date_minmax[0] -= 500
date_minmax[1] += 500
traffic_max /= 0.9

#build graph
chart = LineXY(data)
chart.legend(*sites)
chart.color("green", "red")
chart.size(600,400)
chart.scale(date_minmax[0], date_minmax[1], 0, traffic_max)
chart.axes.type("xy")
chart.axes.range(0, *date_minmax)
chart.axes.range(1, 0, traffic_max)

chart_url = chart.url

但是,这就是我得到的:

问题:红色系列怎么了?


为了您的方便,这里是 data 在一些漂亮的印刷爱之后:

[[1286116241.448437, 1286118544.4077079, 1286119431.18503, 1286121011.5838161],
 [6710.9899999999998,
  6716.2799999999997,
  6641.8900000000003,
  6644.9499999999998],
 [1286116241.979831,
  1286118545.0123601,
  1286119431.9650409,
  1286121012.1839011],
 [38323.860000000001,
  38326.620000000003,
  38327.660000000003,
  38329.610000000001]]

这是包装器生成的参数列表,也是在一些漂亮的打印之后:

chco=008000,FF0000
chd=t:1286116241.0,1286118544.0,1286119431.0,1286121011.0
    6711.0,6716.3,6641.9,6644.9
    1286116241.0,1286118545.0,1286119431.0,1286121012.0
    38323.9,38326.6,38327.7,38329.6
chdl=gaming.stackexchange.com
    serverfault.com
chds=1286115741.0,1286121512.0,0,42588.4555556
chs=600x400
cht=lxy
chxr=0,1286115741.0,1286121512.0
    1,0,42588.4555556
chxt=x,y
cht=lxy
chxr=0,1286116241.45,1286121012.18
    1,0,42588.4555556
chxt=x,y

【问题讨论】:

    标签: python google-visualization


    【解决方案1】:

    问题出在这里:

    chart.scale(date_minmax[0], date_minmax[1], 0, traffic_max)
    

    Google API 允许您为每个系列定义一个不同的比例。因此,您需要为每个系列指定缩放比例,而上述仅影响第一个系列。

    将该行更改为:

    chart.scale(*[date_minmax[0], date_minmax[1], 0, traffic_max]*len(sites))
    

    ...强制所有系列进行相同的缩放。

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 2013-04-13
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多