2013-08-08 3 views
3

У меня есть довольно простая линейная диаграмма, которую я использую для построения некоторых данных по времени. Это все работает нормально, однако проблема, которую мне нужно решить, - это когда графики по осям времени очень близки.D3 Интерполяционная диаграмма времени по времени

Рассмотрим следующие пункты данных:

{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-01T18:49:06"} 
{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-02T28:49:06"} 
{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-03T18:49:06"} 
{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-04T08:10:06"} 
{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-04T09:21:06"} 
{ "Id": 101, x:15, y: 10, "OriginDt": "2012-12-04T11:32:06"} 

Для первых 3 точек на графике выглядит отлично, но как только он получает данные, что происходит в течение короткого промежутка времени данных начинает получать сгрудились и очень трудно оценить на графике.

Я пытаюсь найти образец онлайн, который занимается чем-то подобным, но еще не нашел его.

Я пробовал использовать основные команды интерполяции на осях, но они не работают.

Как я могу изменить свои топоры:

var yAxis = d3.svg.axis() 
    .tickSize(-width).tickPadding(10) 
    .scale(y) 
    .orient("left"); 

Чтобы «разложить» точку в этих ситуациях?

+0

Трудно точно сказать, но это звучит, как вы хотите, масштаб времени (например, «миллисекунд на пиксель») варьируется от одного региона линии диаграммы к следующему, в зависимости от плотности данных. Это правильно? Если это так, это можно сделать, установив для массива 'domain()' и 'range()' массивы с более чем двумя элементами, как это обычно бывает. – meetamit

+0

Да, вы правы с точки зрения требований, и теперь вы упоминаете подход к масштабам, который имеет смысл. Я делал подобное с масштабами в другом месте ... – Jammer

ответ

4

Это будет комментарий, но у меня нет необходимой репутации.

Вы можете посмотреть в cartesian fisheye distortion

+0

Это действительно очень интересно. Спасибо, Джастин! – Jammer

+0

Имейте некоторых Rep ... :) – Jammer

+0

Спасибо, Jammer :) – justinjhendrick

Смежные вопросы