У меня есть файл CSV с 2 столбцами, в первом у меня есть несколько дат, во втором - некоторые значения.Как настроить dc.js ось x для дат
Как инициализировать ось x для отображения дат?
У меня есть файл CSV с 2 столбцами, в первом у меня есть несколько дат, во втором - некоторые значения.Как настроить dc.js ось x для дат
Как инициализировать ось x для отображения дат?
IMO решения вашей задача состоит из двух частей:
Для разбора даты, вам нужно используйте такую функцию после ввода вашего файла csv в сценарий:
var parseDate = d3.time.format.utc("%Y-%m-%dT%H:%M:%S-07:00").parse;
data.forEach(function(d) {
d.TxnDate = parseDate(d.TxnDate);
});
Обратите внимание, что критерии анализа могут отличаться в зависимости от ваших данных. В этом случае проверьте это. time formatting article
Для второй части приведено примерное определение диаграммы, но перед этим вам нужно определить две новые переменные, которые будут служить как начальную и конечную точку нашей оси X. Определите их, как это после того, как вы определили ваши размеры и группы:
var minDate = transactionDate.bottom(1)[0].TxnDate;
var maxDate = transactionDate.top(1)[0].TxnDate;
Код для диаграммы будет выглядеть следующим образом:
timeChart
.width(650)
.height(250)
.transitionDuration(1000)
.brushOn(false)
.dimension(transactionDate) //your dimension created from crossfilter
.group(fakeTxnDateGroup) // your group
.elasticY(true)
.renderHorizontalGridLines(true)
.renderVerticalGridLines(true)
.x(d3.time.scale().domain([minDate,maxDate])) //these are the dates we created before this step so that the scale fits according to our data
.yAxis().tickFormat(d3.format("s"));
Я надеюсь, что это поможет. Если это не так, оставите скрипт js. Спасибо!
Возможно, требуется '.xUnits()', чтобы получить ширину полосы справа? Кроме того, это пропускает агрегацию по дням/часам/минутам, что является еще одной сложной частью. – Gordon
Какие проблемы? Не могли бы вы предоставить более подробную информацию? –
У меня есть файл CSV с датами в первом столбце и значениями во втором столбце. Я не могу поместить даты CSV-файла в диаграмму временных рядов, сгенерированную с помощью библиотеки DC.js ... как я могу поставить дату в домене оси x? @il_raffa –
Отредактировав ваш вопрос для ясности, пожалуйста, проверьте. Я могу выкопать пример в понедельник. Это правда, у нас отсутствует конкретный пример настройки оси даты, но мы смотрим на 'moveChart' и' volumeChart' [пример аннотированных акций] (http://dc-js.github.io/dc. js/docs/stock.html). – Gordon