use*_*862 4 scroll d3.js c3.js
我正在创建一个c3条形图,其中每个条形图表示在给定周内加入程序的人数.数据只是一组对象,其中包含[{week,#of people},{week,#of people}等.
理想情况下,我希望最新的6周显示在图表中,但我希望能够横向滚动以查看过去几周.
我看到了一个答案(D3.js滚动条形图),但在这种情况下,滚动时轴不会保持可见 - 我想这样做.
任何帮助将非常感激.
c3.js允许您制作"子图表",其实质上类似于您在Google财经上看到的股票图表.
我怀疑你最好让Sub Chart成为你滚动的机制,而不是尝试从css实现滚动条.
c3子图表的一个很好的功能是它如何允许为子图表设置'默认范围'.你可以做的是使用范围默认为有限的几周,然后用户可以根据需要操作子图表滑块/画笔.这是一个简单的实现/虚拟示例:

axis.x.extent
http://c3js.org/reference.html
...设置子图和缩放的默认范围.
c3子图表
http://c3js.org/samples/options_subchart.html
jsfiddle中的工作示例
http://jsfiddle.net/y6tns4mt/1/
HTML
<div class="container">
<div class="row">
<div class="col-md-12">
<p>My Chart Title</p>
<div>
<div id="my-chart"></div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
用于c3图表的JavaScript
var chart = c3.generate({
bindto: '#my-chart',
data: {
columns: [
['people', 30, 200, 100, 400, 150, 250, 40, 50, 70, 80, 90, 100, 17, 47, 51, 141]
],
type: 'bar'
},
subchart: {
show: true
},
axis: {
x: {
extent: [13, 16]
}
},
tooltip: {
format: {
title: function (d) {
return 'Week ' + d;
}
}
}
});
Run Code Online (Sandbox Code Playgroud)