基本上,我正在使用 google App Engine (Java)、Datastore 和 Google Visualization 图表创建 GWT 应用程序。
我使用了一个简单的折线图来表示以下信息 - 年(X 轴)上的值(Y 轴)
我从数据存储中获取以下值作为实体列表:
请求 Jon 返回实体(每一行是一个实体):
Person | Value | Year
Jon | 80% | 1992
Jon | 74% | 2010
Jon | 10% | 2011
Jon | 84% | 2012
迈克返回请求:
Person | Value | Year
Mike | 80% | 2000
Mike | 74% | 2001
Mike | 10% | 2002
Mike | 84% | 2003
Mike | 85% | 2006
Mike | 65% | 2011
Mike | 55% | 2012
我可以轻松地为每个人创建一个图表。我通过创建 DataTable 来做到这一点在服务器上使用以下 Google Visualization Data Source Library - 然后我使用 Json 将其发回。
现在我想要的是创建一个结合/连接两个数据表的图表
我能看到自己实现它的唯一其他方法是创建每个 TableRow个人 - 目前这对我来说感觉有点矫枉过正,因为数据必须在每个人的正确列中,即 2012 年的 TableRow 需要是
Year |Mike | Jon
2006 | 85% | null
2011 | 65% | 10%
2010 | null| 84%
2011 | 65% | 10%
2012 | 55% | 84%
这对我来说特别棘手,因为我为每个人发送单独的请求 - 例如,如果我请求 Jon,那么我会得到代表每一行的实体列表,但是当我想加入他们时,我需要经历痛苦获取年份,将值添加到右列等等。这一切看起来都太过分了,必须有一种方法来合并表,以便您可以自动生成上面的行集。
我想要的只是在 Jon、Mike 和 Sally 出现时为她生成一个数据表,然后将它们全部合并到一个简单的命令中,这样我就可以得到一个漂亮的图表,每条线都映射到正确的人。
p.s 我应该在服务器上用 Java 编写这段代码...
最佳答案
可以将两个数据表合并为一个:
google.visualization.data.join(dt1, dt2, joinMethod, keys, dt1Columns, dt2Columns)
看看https://developers.google.com/chart/interactive/docs/reference#google_visualization_data_join
关于java - Google 可视化 - 在 Java 中加入多个数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922401/