У меня возникли проблемы с тем, чтобы это работало. У меня есть существующая таблица HTML и хотелось бы использовать d3 для добавления некоторых данных в таблицу.d3 Добавление ячеек в существующую таблицу
Вот HTML таблица:
<table>
<thead>
<tr id="table_header">
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
<th>Header 5</th>
<th>Header 6</th>
</tr>
</thead>
<tbody id="data_table">
</tbody>
</table>
Сейчас я просто хочу, чтобы добавить некоторые дополнительные заголовки к этому, поэтому я использую d3
<script>
d3.json("data.php", function(monthly_growth) {
d3.select("#table_header").selectAll("th").data(monthly_growth).enter().append("th").text(function(d) {return d.MONTH;});
});
</script>
Я надеюсь, что это не так уж трудно понять без имея фактические данные. В основном мой набор данных имеет значения для каждого месяца в течение следующих нескольких лет. Я хочу создать новый заголовок для каждого месяца в наборе данных. В настоящее время мой код выше присоединяет заголовки к моей исходной таблице, но ему не хватает первых 6 месяцев набора данных. Я подозреваю, что мой код d3 начинает добавлять данные в первый заголовок, который явно не то, что я хочу.
Я также попытался дать моему 6-му заголовку идентификатор и добавить к нему, но он не совсем хорошо работает. Казалось, что он начал новый ряд заголовков под ним. Кроме того, я чувствую, что это не правильный способ сделать это.
Это выглядит, как будто это почти точно так же, как и [этот вопрос ] (http://stackoverflow.com/questions/16316480/manually-add-an-element-to-a-selection-in-d3/). –
Да, это именно оно! Спасибо, я заработал. Я все еще пытаюсь понять, почему добавление функции (d) в мою .data-функцию помогает с индексированием. – MSJ
Я нашел лучший способ сделать это, кроме выбора всех элементов. Поэтому я создал класс для нового, который я хочу создать. так что мой новый код «code» d3.select (#table_header) .selectAll (th.month) .data (month_growth) .enter(). append ("" th) .attr ('class', 'month'). .text (function (d) {return d.MONTH;}); – MSJ