java - Google 可视化 - 在 Java 中加入多个数据表

标签 java gwt google-visualization

基本上,我正在使用 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/

相关文章:

java - 为什么我无法在客户端获取 GWT 中的 JSESSIONID cookie?

javascript - 鼠标悬停时工具提示未正确显示

gwt - GWK Google Web Toolkit 是否需要客户端浏览器上的 Java?

java - 使用 Jetbrains IDES 在反编译的 jar 文件中查找文本

javascript - 在 GWT UIBinder 对话框中使用 CKEditor

svg - 向 Google-Visualization ColumnChart 添加渐变

javascript - Google Visualization 表格图表单击并返回行/列值在 Mozilla 浏览器中不起作用

java - 如何使用Gson序列化LocalDate?

java - 如何在 logback 自动加载 logback.xml 之前定义 logback 变量/属性?

java - 在 GWT 中,如果按下 Shift 按钮,如何从树中的 SelectionEvent 知道