Отображение AMCharts внутри ячейки таблицы HTML

Я пытаюсь отобразить AMCharts внутри ячейки таблицы HTML. Я просматриваю данные и создаю диаграмму для каждого элемента данных. Вот мой HTML-код:

<table id = "theTable" class = "display table table-bordered">
                <thead>
                <tr>
                <th>Department</th>
                <th>Number of Employees</th>
                <th>Number of Volunteers</th>
                <th>Chart</th>
                </tr>
                </thead>

                <tbody>
                <tr>
                    <td>IT</td>
                    <td>30</td>
                    <td>5</td>
                    <td><div id = "chart_1"></div></td>
                 </tr>
                 <tr>
                    <td>HR</td>
                    <td>35</td>
                    <td>14</td>
                    <td><div id = "chart_2"></div></td>
                 </tr>
                 <tr>
                    <td>LG</td>
                    <td>100</td>
                    <td>65</td>
                    <td><div id = "chart_3"></div></td>
                 </tr>
                </tbody>

                </table>

А вот мой код Javascript:

var emp = [30, 35, 100];
var vol = [5, 14, 65];
for (var j = 0; j < 3; j++) {
  var str = "chart_" + j.toString();
  var chart = AmCharts.makeChart(str, {
      "type": "pie",
      "dataProvider": [{
               "type": "Employees",
               "per": parseFloat(emp[j]),
               "color": "#54e83a"
               }, {
               "type": "Volunteers",
               "per": parseFloat(vol[j]),
               "color": "#41ba2c"
             }],
               "valueField": "per",
               "titleField": "type",
               "colorField": "color",
               "balloon": {
               "fixedPosition": true
               },
               "export": {
               "enabled": true
               },
               "startDuration": 0
               });
   }

Что я делаю неправильно? Любая помощь приветствуется! Вот такой JSFiddle

(Пожалуйста, не обращайте внимания на этот текст, редактор говорит, что мой пост - в основном код, поэтому я добавляю текст, не связанный с кодом, в надежде обмануть его ... Я знаю, это непрофессионально.)

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
365
1

Ответы 1

У блоков AmChart должны быть размеры, указанные с помощью CSS, иначе они не будут отображаться. Установите размеры, и все готово, например:

#chart_1, #chart_2, #chart_3 {
  width: 300px;
  height: 100px;
}

Вам также необходимо настроить логику цикла, когда вы начинаете с chart_0, когда ваши div начинаются с chart_1. Либо обновите свой html, либо исправьте создание строки, например var str = "chart_" + (j + 1); (обратите внимание, что вам не нужен toString())

Обновленная рабочий пример

Другие вопросы по теме