0

我正面临在我的 html 页面中创建多个饼图的挑战。

我在页面中有一个 for 循环,我想绘制数据。

我只是将脚本插入循环中,但它不起作用。

代码是:

{% for welTsts in WellTsTProDChart %}
   
    <div id='{{welTsts.TestDate}}' class="container">
              <div class="row">
                  <div class="col-lg-6">
              </div></div>
    
    
                 <div class="col-lg-6">
                     <div class="card card-success">
                         <div class="card-header">
                           <h3 class="card-title">Production Tests: {{ welTsts.TestDate }} Oil {{ welTsts.TestOIL}} (m3/D)</h3>
                         </div>
                         <div class="card-body w3-light-grey solid">
                         
                           <canvas id='{{welTsts.TestDate}}' style="min-height: 230px; height: 230px; max-height: 245px; max-width: 100%;"</canvas>
                    
                                   {% block custom_js %}
                                   <script>
                                       $(document).ready(function(){
                                               //Data Set for PIE CHart
                                              var pieData  = {
                                                 labels: [
                                                     'OIl',
                                                     'Water'
                                                 ],
                                                 datasets: [
                                                   {
                                                     data: [{{ welTsts.TestOIL}} , {{ welTsts.TestWtr}}],
                                                     backgroundColor : ['#00a65a', '#5088f1'],
                                                   }
                                                 ]
                                               }
                                               var pieChartCanvas = $('#{{welTsts.TestDate}}').get(0).getContext('2d')
                                               var pieOptions     = {
                                                 maintainAspectRatio : false,
                                                 responsive : true,
                                               }
                                               //Create pie or douhnut chart
                                               // You can switch between pie and douhnut using the method below.
                                               var pieChart = new Chart(pieChartCanvas, {
                                                 type: 'pie',
                                                 data: pieData,
                                                 options: pieOptions
                                               })
                                       })
                                   </script>
                                    {% endblock custom_js %}
    </div></div></div></div></div>
    {% endfor %}

当我只有一个数据时,它不知道变量(数据:[{{ welTsts.TestOIL}},{{ welTsts.TestWtr}}]),如果我设置固定数字,如数据:[70, 30] 它会绘制它只是一个情节,即使有很多情节要显示如下图所示。它将脚本中的最后一个 var 放入 for 循环的第一个元素中!

一 数据和可变数据

一 数据和固定数据

多数据和固定数据

并在添加唯一 ID 后

添加唯一 ID 后

在此处输入图像描述

4

0 回答 0