正在等待呈现图表,直到加载数据为止
Waiting for rendering a chart till data has loaded
我用D3.js.做了一个小图表
-
对于不同类型的输入数据类型,有3种不同类型的加载函数。
-
我的图表可以在这些数据集中的任何一个数据集上渲染,根据传递给渲染函数的参数一次渲染一个。
-
数据加载代码是异步的,这会产生问题,因为我的渲染函数甚至在数据完全加载之前就开始绘制了。
-
我给出了单独的加载函数,而不是在render函数中调用它们,因为用户可能只想在最初加载数据集,然后再渲染图表。
-
我想过在开始绘制之前等待一个标志,并在所有数据集上传后设置这个标志,但由于无限循环,我觉得很难看。
在设计方面,我有什么想法可以用来做这件作品吗?
var visualization = new Chart()
.width(1000)
.height(1000)
.loadDissimilarityMatrix('dataSet1.csv')
.loadAdjacencyMatrix('dataSet2.csv')
.loadLaplacianMatrix('dataSet3.csv')
.render('Dissimilarity')
// .render('Adjacency') for using the adjacency dataset.
我想出了一个解决方案。
我意识到数据加载部分应该留给API用户。与其要求URL来加载文件,我应该只要求直接的数据。显示"繁忙屏幕"等的责任应由API用户承担。
当数据集完全加载时,他应该在回调中调用图表创建和呈现代码。我的图表可以直接渲染,而不必担心数据仍在加载。
我检查了一些API,发现没有一个负责解析和加载数据。
附言:公开征求意见。
相关文章:
- 正在等待呈现图表,直到加载数据为止
- ng绑定和ng href问题.ng href未从控制器加载数据
- 单击按钮时加载数据
- 在reactjs组件中预加载数据
- Highcharts可以从服务器加载数据,但不能更新
- AngularJS promise在加载数据之前得到解决
- 在Knockout JS中搜索从DB加载数据的项目
- 如何在angular js中使用$emit后重新加载数据
- 构建多个图表时,HighCharts加载数据的速度较慢
- 加载初始网站后在后台加载数据
- ExtJS网格未从Ext.data.XmlStore加载数据
- 数据表 AJAX 筛选器重新加载数据
- select2 使用 AJAX 加载数据不能选择任何选项
- 在 Metro 风格应用中启动时加载数据
- 需要帮助使用 AJAX 和其他一些东西加载数据
- Vue 不加载数据
- 向右滚动加载数据
- 为SEO的数据绑定JS预加载数据
- mysql循环-预加载数据
- 无法使用JSON加载数据表