У меня есть диаграмма, где x Axis представляет календарные недели. Из-за изменения года моя диаграмма теперь не правильно отсортирована. Так calendarweek 1 с 2015 года в настоящее время до calendarweeks от 2014.d3 - высмеять маркировку оси x
Я знаю, что я должен изменить что-то в моих данных. Я думал добавить год до календарной недели, например, 151, 152, 1450, 1451, 1452 и так далее.
Я пробовал это, и он работает. Но это не совсем понятно для клиента. Поэтому я подумал, что могу просто разделить номер календаря на 1, 2, 50, 51 и 52 и отправить его переменной xAxis.
var xAxis = d3.svg.axis()
.scale(x)
.tickValues(sliceKeys)
.orient("bottom");
Но тогда бывает, что тики не совпадают с полосками и не появляются. Но теперь решетки отсортированы правильно. Кто-нибудь знает, как это можно сделать?
Может вы поставите весь свой код на http://jsfiddle.net/? Слишком мало информации, чтобы помочь вам –
Конечно. Вот скрипка: http://jsfiddle.net/rvvca8y8/ – sanyooh
Значения, которые вы используете для оси, не входят в область масштаба, поэтому вы получаете значения «NaN» и соответствующее сообщение об ошибке. Я бы рекомендовал использовать функцию '.tickFormat()' для правильного форматирования ваших значений тика вместо изменения базовых данных. –