在 Google Visualization 中的 DataTable 中插入 JSON

发布于 2024-09-26 08:02:33 字数 253 浏览 5 评论 0原文

我读到 JSON 可以插入到数据表中。然而,它完成了 在 HTML 页面上的 JS 中(如果没记错的话)。我正在使用 GWT- 此处给出的可视化驱动程序,以及添加可视化驱动程序的唯一方法行不是 设计时考虑到了 JSON。有没有可行的解决方案?我是 尝试制作堆积柱形图。 谢谢。

I read that JSON can be inserted into a datatable. However, its done
in JS on the HTML page (if memory serves right). I am using the GWT-
visualisation driver as given here, and the only methods to add a row are not
designed with JSON in mind. Is there any work-able solution? I am
trying to make a Stacked Column Chart.
Thanks.

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

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

发布评论

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

评论(2

把时间冻结 2024-10-03 08:02:33

我还结合使用地理地图和数据表来解决这个问题。在我的解决方法中,我使用原型 javascript 框架中的 evalJSON() 来使 json 字符串成为一个对象。

var country_obj = country_data.evalJSON(true);

然后我循环遍历对象的长度:

var data = new google.visualization.DataTable();
data.addRows(country_obj.country.length);
data.addColumn('string', 'Country');
data.addColumn('number', map_context); 

var j = country_obj.country.length;
for ( i = 0; i < j; i++ )
{
    var num = new Number(country_obj.country[i].geo_mstat_reads);

    data.setValue(i, 0, country_obj.country[i].country_name);
    data.setValue(i, 1, num.valueOf());
}

// and then the table.draw() with the data

这对我来说非常有效,因为它可以缩放到您尝试显示的数据集的确切大小。

此外,您还可以对对象执行一系列操作,这使您的生活和编码更易于阅读和编写。

我希望这可以帮助您解决您的问题。

I also struggled with this using geomap and data table combined. In my workaround I used the evalJSON() in prototype javascript framework to make the json string an object.

var country_obj = country_data.evalJSON(true);

Then I loop over the object's length :

var data = new google.visualization.DataTable();
data.addRows(country_obj.country.length);
data.addColumn('string', 'Country');
data.addColumn('number', map_context); 

var j = country_obj.country.length;
for ( i = 0; i < j; i++ )
{
    var num = new Number(country_obj.country[i].geo_mstat_reads);

    data.setValue(i, 0, country_obj.country[i].country_name);
    data.setValue(i, 1, num.valueOf());
}

// and then the table.draw() with the data

This worked very well for me because it scales to the exact size of the dataset you are trying to show.

Also you can do a whole whack of operations on an object which makes your life and coding easier to read and write.

I hope this helps you with your problem.

余生一个溪 2024-10-03 08:02:33

相同的 pb,并且不知道它是否可行:

public native DataTable createDataTable(String obj) /*-{
    console.log("create Datatable :" + obj);
    var dt = new $wnd.google.visualization.DataTable(obj);
    console.log("Datatable created");
    return dt;
}-*/;

这会创建一个空的 dataTable,而 JSON 输入的格式很好......

same pb, and don't know if it's feasible :

public native DataTable createDataTable(String obj) /*-{
    console.log("create Datatable :" + obj);
    var dt = new $wnd.google.visualization.DataTable(obj);
    console.log("Datatable created");
    return dt;
}-*/;

This create an empty dataTable whereas the JSON input is well formatted...

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