代码之家  ›  专栏  ›  技术社区  ›  Roland Kofler

在谷歌图表API中,如何改变轴的位置?

  •  2
  • Roland Kofler  · 技术社区  · 14 年前

    制作图表时,是否可以将轴的原点居中,以便显示轴的交叉点? 我们使用解决方法,通过设置网格使网格线降到(0,0)点 但是你不能用一个更细的网格层来获得更好的视觉引导。 是否可能没有解决方案? 例如下面的图表?

    http://chart.apis.google.com/chart?chxt=x,y&chs=300x150&cht=s&chd=t:12,87,-75,41,23,96,68,71,34,9|98,60,27,34,56,-79,58,74,18,76|84,23,69,-81,47,94,60,93,64,-54

    在Chart API论坛和文档中进行的一项准确研究表明,只有解决方法。 如果没有可用的标准解决方案,你能考虑一下为什么谷歌没有实现轴的定位吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Miguel Silva    14 年前

    在我看来,每个谷歌图表都在[0%到100%的范围内。如果你想要不同的值(比如负值),你需要一些算术来完成它。

    我还做了一个 workaround 对于这个问题。使用50%步进策略的网格。在我的例子中,由于x和y轴的范围在-100到100之间,所以我必须应用到任何值的函数是:f(v)=(v-100)/2。

    可以添加一个元素来完成此解决方案。如果API只提供具有不同分辨率(不同步长)的多个网格,则可以添加另一个更精细的网格层。

    imho google charts api提供低级调用,以控制图表上的可视元素。我想说这里缺少的元素是多个网格,允许更细的线条层。有了这些元素,上层API可以由Google构建,也可以封装在包装库中,比如 charts4j . 这个上层API应该处理像这两个网格这样的算术和问题。