【问题标题】:html page getting hanged with to many d3.js radar charthtml 页面越来越多的 d3.js 雷达图
【发布时间】:2016-01-12 08:04:10
【问题描述】:

我正在尝试根据来自服务器的记录数作为 json 数据动态创建雷达图。 例如:我的 json 有 1000 条记录,我尝试创建雷达图来显示数据,但我的 html 页面被挂起。

我试过了,它可以处理多达 50 个图表。

【问题讨论】:

  • 如果您有 1000 条记录要同时显示,那么您的图表无论如何都将不可读。例如,我将显示 25 个最大值,并将另一个值相加为一个值,我也将显示为“其他”
  • 例如:我试图为每个配置文件生成一个雷达。
  • 您是否需要同时显示所有雷达的配置文件?例如,您可以按字母显示它们(仅显示以“a”开头的个人资料,然后是“b”等)
  • @sen 你见过一个网站有上千张不同的图片,一起加载吗?试图渲染一千张图表是问题所在。如果您考虑每个图表创建多少个 JS 对象以便您可以管理动态呈现到图形缓冲区的图表,那么几十个 d3 图表挂在浏览器中不是。至少图像被简单地复制了。

标签: javascript angularjs html d3.js


【解决方案1】:

这无法修复。

您渲染的每个图表都需要大量的处理时间来构建。您要渲染的图表越多,处理时间就越长。对此你无能为力。

要么尝试将数据压缩到(显着)更少的图表中,要么在选择一行时呈现单个图表。

或者,(告诉您的客户)get a beast of a machine

【讨论】:

  • 您也可以尝试将生成的图表缓存为图像并不时更新它们。
  • 那么您将失去所有交互/响应能力。
  • 您好,感谢您的所有 cmets。我将对提供的所有建议做一些工作,例如通过延迟加载生成图表,或基于顶部数字或捕获为图像,然后单击图像显示详细图表。我想在门户网站中显示的场景就像我在连锁酒店中有多个属性,如果我搜索酒店,高级结果将在 rader 中显示每个属性及其设施和评级...然后我单击雷达查看详细信息整页。
  • 我的输出附在问题中
最近更新 更多