使用jquery类型滑块迭代csv,并在d3.js柱状图中每次显示一个柱状图
Use a jquery type slider to iterate through a csv and display one bar at a time in a d3.js bar chart
所以我在D3.js中生成一个csv文件的条形图,一个基本列的例子。我想做的是每次只显示一行数据的一个栏。类似于jquery的滑块将遍历csv行并更新图表。对于用户来说,它看起来就像单个栏的高度在变化,但x轴也应该随着日期更新。
下面是我将输入的数据示例:
DATE,INFLOW (CF),OUTFLOW (CF),STORAGE (CF)
20120101,950400,28857600,11084277600
20120102,60912000,28771200,11099959200
20120103,56505600,28857600,11130451200
20120104,55900800,28771200,11158765200
20120105,55987200,28771200,11189692800
20120106,56419200,28771200,11220620400
20120107,55123200,28684800,11246756400
我实际上唯一想显示的是DATE和STORAGE (CF)。因此,我可能需要在某个地方对CSV进行一些解析,以使其处于最佳状态。
我已经尝试过这个,并将发布一些代码,但我所有的尝试都是一团糟。我可以一次生成包含所有行的条形图,但当我试图显示单个行时,一切都中断了。以下是我可以使用一些指导的挑战:
- 如何用滑块拼接或过滤我的csv,以便只选择单行
- 最好的方法来生成一个条形图,只有一个单一的条形从单行在csv(每次我试图这样做,我有问题与轴和访问数组值正确)
- 更新条形图的最佳方式,仅改变高度,同时更新x轴刻度
任何例子也会非常有帮助!我一直在谷歌上疯狂搜索,但我主要是找到影响范围和比例的滑块
这个有很多部分…解析和切片数据,设置x轴,等等。下面是其中一段代码:
d3.select("#slider")
.on("input", function() {update(+this.value);});
function update(row) {
viewdata = data.slice((row-1), row);
redraw();
}
这是一个完整的PLUNK解决方案。注意:为了说明方向,我在代码的几个部分放置了注释。我强烈建议您fork这个plunk,这样如果我不小心删除了它,它就不会丢失了。
相关文章:
- Facebook共享显示一个接一个的空白页面
- 当var==0时,我如何显示一个警报
- 如何在设定的时间间隔内一次只显示一个图像
- 当满足PHP条件时显示一个弹出窗口
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- 一次显示一个隐藏指令-AngularJS
- 一次显示一个指令AngularJS
- 如何在谷歌地图中突出显示一个州点击一个国家的任何区域
- 在html页面的iframe中显示一个警告框
- Slding表单不会一次显示一个表单
- 在你离开之前,这个网站如何显示一个整洁的HTML框
- Onsen UI在点击时显示一个日期选择器
- 每行仅突出显示一个单元格
- 页面加载时显示一个随机图标
- 在html画布中显示一个图像,然后增大其大小
- 在谷歌地图上显示一个标记
- 只在表中突出显示一个单元格值
- 在谷歌可视化饼图中突出显示一个切片
- 如果所有单选框在jQuery中都有一个选择,则显示一个元素