Привет Я создал вертикальную стеклянную гистограмму. Мои данные находятся в файле 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");
Попробуйте временную шкалу, например, 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
Другой вариант - продолжать использовать порядковый масштаб, но определить домен масштаба, создав массив всех даты с использованием функции [d3.time.interval range] (https://github.com/mbostock/d3/wiki/Time-Intervals#wiki-interval_range). Затем используйте функцию форматирования даты в качестве функции формата тика оси. Разница между этим подходом и предложением, предложенным @Maggie, заключается в том, что с истинным временным масштабом неравномерно распределенные единицы даты (например, месяцы, которые могут иметь разное количество дней), а также неровные ширины. При порядковой шкале все они будут нарисованы одинаковой ширины. – AmeliaBR
Скажите, @AmeilaBR, ваше объяснение непреднамеренно решило проблему для меня, прежде чем я разместил ее. Благодаря! – Maggie