Я рисую цены на акции с интервалом в десять минут и длиной 10 дней. Конечно, фондовый рынок открыт только между 9:30 и 4. Как мне отображать только часть графика, которая находится между 9:30 и 4? Например Google финансов диаграммы https://www.google.com/finance?q=AAPLпоказывать только определенные часы с d3.js
var margin = {top: 10, right: 10, bottom: 10, left: 10};
var width = $('#'+stock.symbol+'_graph').width() - margin.left - margin.right;
var height = 100 - margin.top - margin.bottom;
var x = d3.time.scale().range([0, width]);
var y = d3.scale.linear().range([height, 0]);
var xAxis = d3.svg.axis().scale(x).orient("bottom");
var yAxis = d3.svg.axis().scale(y).orient("left");
var line = d3.svg.area()
.x(function(d) { return x(d.date); })
.y1(function(d) { return y(d.price); })
.y0(height);
var svg = d3.select('#'+stock.symbol+'_graph').append('svg')
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
x.domain(d3.extent(stockHistory, function(d) { return d.date; }));
y.domain(d3.extent(stockHistory, function(d) { return d.price; }));
svg.append("path")
.datum(stockHistory)
.attr("class", "line")
.attr("d", line);
Проще всего, вероятно, будет иметь только те часы в ваших данных. –
Вот как это, нет данных за те часы, когда рынок не открыт. – Dan
Ах, извините, теперь вас. Вы могли бы использовать категорическую шкалу на время, хотя это сделало бы другие вещи немного неуклюжими. –