【发布时间】:2013-01-26 10:12:49
【问题描述】:
我正在开发一种财务报告分析应用程序,主要用于处理数字并相应地绘制条形/线/饼形/散点图。该应用程序基于 Pandas 和 matplotlib,运行良好。最终用户只需将参数发送给我,应用程序就会运行并生成 SVG 格式的图表文件,然后我可以将文件通过电子邮件发送给最终用户。
现在的问题是:SVG文件是静态的,失去了交互能力,最终用户希望图表在鼠标单击或悬停在关键点或区域上时显示相关注释。
我在我的机器上添加了 matplotlib 图表的交互功能,但它依赖于我安装的环境。最终用户在Windows上运行,不会安装python/matplotlib等,他们想要的只是一个可以双击然后与内容交互的单个文件。
我现在想要的是:将 matplotlib 图表转换为那种文件的最简单方法。有点像将图片转换为 Flash 或动态 SVG 或用户可以交互的任何文件。
是否有任何 python 现有包或对此有任何想法?谢谢,
【问题讨论】:
-
也许用 py2exe 把数据、你的代码、pandas 和 matplotilb 包起来? (虽然不确定这是否可能)
-
@wvxvw:为什么要依赖 Flash 和 ActionScript?你可以使用普通的 SVG 和 JavaScript 来做同样的事情。还是 Flash 的杀手级功能似乎与图表动画相关?
-
@wvxvw:我会将 JavaScript 打包到 SVG 文件中。我看不到 OP 在哪里需要可执行的 Windows 程序。我认为使用 SVG 他会更加灵活。
-
我希望客户端的机器安装了一个不错的浏览器,所以不需要打包任何东西。当前的解决方案显然是无论如何都向他发送 SVG,以便他可以查看它(大概在浏览器中)。他会像以前一样接收 SVG,但这次具有交互性。
-
@bigbug:知道你到底想要什么交互功能会很有用(在点击图表的条形图时仅显示一些信息弹出窗口与动态重新调整条形图/饼图的大小完全不同) )。也许您还可以澄清我们关于 Flash 与 SVG 的小讨论的主题。
标签: flash svg matplotlib interactive