基于Python的Web可视化编程接口,用于数据可视化
我刚刚发现了 impure.com,并且对使用其工作空间可视化数据所取得的成就印象深刻。虽然该平台可以免费使用,但尚未开源。这会导致一些问题,因为 API 部分适用于 .com 网站,例如。对于 eBay,因此我无法可视化 eBay.in 等区域网站的 eBay 列表,因为指向 eBay.com 的链接是硬编码的。
我进行了搜索,但没有找到其他项目提供类似的方式来处理站点 API 和其他数据源,以及 impure.com 在浏览器窗口中实时执行的用户界面和详细信息。
这让我想到了以下问题:
创建类似的项目会涉及哪些技术?
有哪些开源工具可以帮助开发全屏 UI 来渲染工作区。为此是否有任何 Flash 的替代方案,以及它们如何比较
目标是使用标准 python 数据结构、python 脚本对这些数据结构进行一些处理、从 csv、json 和 API 源(例如 google)收集数据的脚本yahoo、wikipedia 和 flickr,以及渲染图形、标签云、网络可视化等的脚本。然后将它们全部整合到一个支持拖放和简单类型检查的可视化界面中。Python
后端如何与 UI 集成,
对于这个漫无目的的问题感到抱歉,但我想展示尽可能多的细节。我想做这个是为了好玩
I just discovered impure.com and was very impressed by what can be achieved in terms of visualizing data using their workspace. Although the platform is free to use, but not open source yet. This causes a few problems because the API section works with .com sites for eg. for ebay, so I cannot visualize ebay listings for regional sites such as ebay.in because the link to ebay.com is hardcoded.
I searched around, but didn't find other projects that offer a similar way to work with site APIs and other data sources with the kind of user interface and detail that impure.com does in a realtime way within a browser window.
This brings me to the questions:
What technologies would be involved in creating a similar kind of project
What are the open source tools that can help develop a fullscreen UI to render the workspace. Are there any alternatives to flash for this, and how do they compare
The goal would be to use standard python data structures, python scripts to do some processing on these data structures, scripts to gather data from csv, json and API sources such as google yahoo, wikipedia and flickr, and scripts to render graphs, tag clouds, network visualizations etc. Then bring them all together into a visual interface that supports drag drop and simple type checking
How would the python backend integrate with the UI
sorry for the rambling question, but i wanted to present as much detail as possible. I'd like to do this for the fun of it
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,重申一下,Impure 就像 OpenDX 但在浏览器中运行,并且您对有关以下内容的建议感兴趣:架构要构建你自己的网页版本吗?
我建议使用 Cappuccino 作为前端 Web GUI。这是一个用于在浏览器中构建 RIA 的工具包,完全基于 HTML 和 Javascript(无 Flash)。它以 Apple 的 Cocoa 为蓝本,因此您可以用它构建一些非常复杂的应用程序。
在 Web 服务器端,我将使用 Python 绑定到 OpenDX 来构建向 Web 浏览器公开的 JSON API。请注意,此 Python 模块使用 DXLink,它似乎主要是 OpenDX 的批处理/命令接口 - 您可能仍然需要做一些工作才能从中获取可视化效果并返回到 Web 浏览器。但是,它都是开源的,所以它应该是可行的。这是一个讨论,其他人正在尝试同样的事情。
我不确定 OpenDX 支持通过 Web 服务调用提取数据,但您当然可以在 Python 端处理它并将其输入 OpenDX。
请注意,我没有提到 Python Web 框架,因为您的应用程序主要是 JSON API,几乎任何一个框架都可以正常工作。我建议您选择最薄、最简单的一款。
So, restating, Impure is like OpenDX but running in a browser and you are interested in suggestions for an architecture to build your own web version of it?
I suggest using Cappuccino as your front end Web GUI. This is a toolkit for building RIAs in the browser that are completely based on HTML and Javascript (no Flash). It is modeled after Apple's Cocoa so you can build some very sophisticated apps with it.
On the web server side, I would use the Python bindings to OpenDX to build a JSON API that is exposed to the web browser. Note, this Python module uses DXLink, which appears to be mainly a batch/command interface to OpenDX - you might still need to do some work to get visualizations out of it and back to the web browser. But, it's all open source so it should be feasible. Here's a discussion where others are attempting the same thing.
I don't know for sure that OpenDX supports pulling data via web service calls but you could certainly handle that on the Python side and feed it into OpenDX.
Note, I don't mention a Python web framework because, since your app will be mostly a JSON API almost any of them would work just as well. I suggest the thinnest and simplest one that appeals to you.