Я пытаюсь добавить функцию масштабирования в свою гистограмму. То, что я пытаюсь достичь, - это когда пользователь перетаскивает курсор над определенной областью, вы можете увеличить масштаб до этой области и изменить значение оси x, показывая количество дней в этом месяце. this example Я попытался включить те же функции масштабирования и перетаскивания.D3 Масштабирование по оси X
Но я, кажется, получаю эту ошибку:
Error: <rect> attribute transform: Expected number, "translate(NaN,0)".
То, что я пытаюсь сделать с помощью функции масштабирования однократно наведена на оси х должна меняться с указанием месяца (январь, февраль и т.д.) до дней (1 января, 2 января, 3 января и т. д.). Любая помощь будет рассмотрена. Вот код для функции масштабирования:
function bListener() {
x.domain(brush.empty() ? x.domain() : brush.extent());
svg.selectAll(".bar")
.attr("transform", function(d) { console.log(d.date); return "translate(" + x(d.date) + ",0)"; });
svg.select(".x axis").call(xAxis);
}
Спасибо за ответ. Я изменил объект данных, но ось x не обновляется. Любая идея о том, как это исправить? http://jsfiddle.net/noobiecode/dty0s24k/35/ – user3837019
ваши функции xAxis группируются с использованием месяцев - '.orient ('bottom') .ticks (d3.time.month) .tickFormat (d3.time.format ('% b% y')). Просто называть это, как и вы, не изменят тики, потому что вы ничего не меняете. Вы должны проверить некоторые руководства по d3 - начать и построить график, а не прыгать и конечный продукт. В долгосрочной перспективе Itll внесет свой вклад. – Craicerjack
Я посмотрел, где я создавал xAxis, и заметил заговор и формат. Собирался вернуться сюда, чтобы опубликовать его, но вы избили меня до него. Что касается «прыжков и конечного продукта». Я создал диаграмму с помощью учебников. Я бы признал, что я не очень осведомлен о D3. – user3837019