Как бы я заполнил таблицу из старших данных? - PullRequest
0 голосов
/ 02 июля 2018

Если у меня есть диаграмма и таблица, как показано ниже, и я хочу передать данные диаграммы в ячейки таблицы. Как бы я это передал?

Highcharts.chart('container', {
chart: {
    type: 'bar'
},
series: {
    data: [100,200, 300],
        },   
});
<div id="container"></div>
<table id="dataTable">
  <thead>
    <tr>
      <th>First Column</th>
      <th>Second Column</th>
      <th>Third Column</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

1 Ответ

0 голосов
/ 02 июля 2018

Вот основной способ, которым вы можете использовать Highcharts и jQuery для заполнения ячеек вашей HTML-таблицы данными из вашего графика.

Во-первых, мы хотим установить строку-заполнитель в вашей таблице, где мы будем заполнять данные. Я дал этой строке идентификатор RowToFill, чтобы мы могли ссылаться на него в Javascript.

HTML:

<div id="container" style="height: 400px"></div>

<table id="dataTable">
    <thead>
        <tr>
            <th>First Column</th>
            <th>Second Column</th>
            <th>Third Column</th>
        </tr>
    </thead>
    <tbody>
        <tr id="RowToFill">
        </tr>
    </tbody>
</table>

Далее, мы пройдемся по данным диаграммы и добавим ячейки таблицы в нашу строку заполнителя, используя функцию jQuery append().

Javascript:

/* set the chart to a variable so you can get to the data later */
var thisChart = Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    xAxis: {
        categories: ['A', 'B', 'C']
    },
    series: [{
        data: [100,200,300]
    }]
});

/* go through each item in the chart series */
$(thisChart.series[0].data).each(function( index ) {
    /* add a table cell to the row where it should go */
    $('#RowToFill').append('<td>' + this.y + '</td>');
});

Вот рабочая скрипка с этим решением: http://jsfiddle.net/brightmatrix/5ad8fgzp/

Чтобы сделать это более гибким, вы можете изменить эту функцию, чтобы сначала выполнить список категорий оси x, чтобы создать строку заголовка таблицы. Это приведет к тому, что количество ячеек в строке тела таблицы будет соответствовать количеству точек данных на диаграмме.

Надеюсь, это полезно для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...