首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成动态图形

生成动态图形
EN

Stack Overflow用户
提问于 2011-08-15 10:07:07
回答 3查看 227关注 0票数 0

我正在用Django构建一个web应用程序,并希望根据数据生成动态图形。

以前我使用的是Google Image Charts,但是我在使用api时遇到了很大的限制,包括URL长度限制。

我已经改用matplotlib来创建我的图表。我想知道这对于未来的扩展来说是不是一个糟糕的决定--有生产站点使用matplotlib吗?生成一张图需要大约100ms (比查询数据库中的数据要长得多),这在伸缩/处理多个请求方面是不可能的吗?

EN

回答 3

Stack Overflow用户

发布于 2011-08-16 20:24:07

如果您可以在请求/响应周期之外使用诸如Celery之类的东西呈现图表,那么您可能能够缩放matplotlib以进行图表绘制。您必须管理呈现的图表的存储,并在数据更改时使其无效。这实际上取决于数据更改的频率和查看数据的频率。

但是,我倾向于使用客户端的图形库,比如jqplothighcharts

票数 1
EN

Stack Overflow用户

发布于 2011-08-16 20:24:32

对于这种功能,您应该查看消息队列,例如ZeroMQ。这允许您使用不会阻塞web服务器进程的异步图形生成(如果实现正确)。

票数 0
EN

Stack Overflow用户

发布于 2011-08-16 20:34:36

如果性能是这样一个问题,并且您不需要花哨的图形,那么您也许能够接受根本不创建图像的问题。在html中为一个简单的条形图呈现明确大小和颜色的div。使用长方体阴影和/或渐变背景来吸引眼球。

我在一些报告网页中做到了这一点,在大型表格的每一行中显示一个小的5条(五分图)图表,速度非常快,几乎没有服务器负载。用户喜欢它的早期和简洁的反馈。

使用canvas和javascript,您可以改进其他图表类型的此方案。我不知道你是否可以使用谷歌的图表代码,而不是通过他们的API,但如果不能,几条线或圆圈段应该很容易画出你自己。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7078010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档