Задать вопрос
@Vikt1006

Как вывести график функции JS при нажатии на кнопку?

Константы вводятся через окно формы. По ним в цикле рассчитываются значения функции и выводятся на экран. Также должен быть выведен график по этим значениям, но он не показывается.
<p>Введите константу k1</p>
    <p><input id="k1" type='number' /></p>
    <p>Введите константу k2</p>
    <p><input id="k2" type='number' /></p>
    <p><button onclick="getk1k2(); functionA1();  Diagram()">рассчитать</button></p>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>
    <div id="content" align="center">
    <canvas id="myChart" width="628" height="400"></canvas></div>

let k1; let k2; let a1; 
      const massivOfResults1=[];
      
      function getk1k2() {
      k1 = document.getElementById("k1").value; 
      k1= parseFloat(k1);
      k2 = document.getElementById("k2").value; 
      k2= parseFloat(k2); 
      return k1, k2;
      }
    
        function functionA1() {
            for (let i=0; i<=10; i++) {
                  a1=k1*i/(k1*k2+k1*i+i*i); 
                  document.write('  ' + i + ')  a1 при i равно '+ i + ' = '+ a1 + ';');                                               
            massivOfResults1[i]=a1;
           }
           return a1, massivOfResults1;  
        }
       
         function Diagram() {
         var ctx = document.getElementById("myChart");
         var myChart = new Chart (ctx, {
          type: 'line',
          data: {
           labels: [], 
           datasets: [
            {
             label: 'f(x)', 
             data: [massivOfResults1[0],massivOfResults1[1], massivOfResults1[2], massivOfResults1[3], massivOfResults1[4], massivOfResults1[5], massivOfResults1[6], massivOfResults1[7], massivOfResults1[8], massivOfResults1[9], massivOfResults1[10] ], 
             borderColor: 'blue', 
             borderWidth: 2, 
             fill: false 
            }
            //
           ]
          },
          options: {
           responsive: false, 
           scales: {
            xAxes: [{
             display: true
            }],
            yAxes: [{
             display: true
            }]
           }
          }
         });
           }
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект