2014-10-01 2 views
1

Привет Я создал вертикальную стеклянную гистограмму. Мои данные находятся в файле csv. Моя шкала x является порядковой. В соответствии с требованием моя шкала x должна менять масштаб времени. какие изменения я должен сделать, чтобы сделать мою шкалу времени оси x. У меня есть только ограниченное время, чтобы закончить это. Вот мой кодD3 Сложенная гистограмма

var x = d3.scale.ordinal() 
    .rangeRoundBands([0, width], .1); 


var xAxis = d3.svg.axis() 
     .scale(x).ticks(5) 
    .orient("bottom"); 
+1

Попробуйте временную шкалу, например, var x = d3.time.scale(). Domain (d3.extent (date)) http://stackoverflow.com/questions/20181286/how-to -use-d3-time-scale-to-generate-a-array-of-evenly-spaced-date – Maggie

+0

Другой вариант - продолжать использовать порядковый масштаб, но определить домен масштаба, создав массив всех даты с использованием функции [d3.time.interval range] (https://github.com/mbostock/d3/wiki/Time-Intervals#wiki-interval_range). Затем используйте функцию форматирования даты в качестве функции формата тика оси. Разница между этим подходом и предложением, предложенным @Maggie, заключается в том, что с истинным временным масштабом неравномерно распределенные единицы даты (например, месяцы, которые могут иметь разное количество дней), а также неровные ширины. При порядковой шкале все они будут нарисованы одинаковой ширины. – AmeliaBR

+0

Скажите, @AmeilaBR, ваше объяснение непреднамеренно решило проблему для меня, прежде чем я разместил ее. Благодаря! – Maggie

ответ

2

положил здесь вашу структуру CSV. скорее всего, ваше решение

parse = d3.time.format("%H:%M:%S").parse, 
format = d3.time.format("%X"); 

где в вашем CSV файла время столбца Шоуда быть как: формат «второго часа:: минута».

и передать значение «формат» на вашей оси

для точного ответа поставить код здесь! или вы можете refer this

+0

Получил это. Большое вам спасибо за все ответы вовремя. – Veena

+0

У вас есть успешное решение? – BomberMan

+0

Да, нужно было изменить масштаб времени и массу изменений и теперь работать со статическими данными. необходимо изменить на dynamic.I надеюсь, что преобразование CSV в JSON не является трудной задачей. Это? – Veena

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