Advertisement
AndreyPetrov

Untitled

May 29th, 2020
510
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var new_data = [];
  2.  
  3. var labelV = [];
  4. var lineChart = null;
  5.  
  6. var speedCanvas = document.getElementById("speedChart");
  7.  
  8. Chart.defaults.global.defaultFontFamily = "Lato";
  9. Chart.defaults.global.defaultFontSize = 15;
  10.  
  11. function drawPlot(new_data,left,right){
  12.  
  13.     var speedData = {
  14.     labels:labelV,
  15.     datasets: [
  16.     {  
  17.         label: '',
  18.         backgroundColor:'rgb(0,0,0)',
  19.         data: new_data,
  20.         }
  21.     ]
  22.     };
  23.  
  24.     var chartOptions = {
  25.     legend: {
  26.         legendText:'Plot',
  27.         display: true,
  28.         position: 'top',
  29.         labels: {
  30.             boxWidth: 80,
  31.             fontColor: 'black'
  32.         }
  33.     },
  34.         title:{
  35.             display:true,
  36.             text:'Plot'
  37.            
  38.             },
  39.        
  40.         scales:{
  41.             xAxes:[{
  42.                 ticks:{
  43.                     min:left,
  44.                     max:right,
  45.                     stepSize:1,
  46.                 },
  47.            
  48.             }],
  49.             yAxes:[{
  50.                 gridLines:{
  51.                     offsetGridLines:true
  52.                 }
  53.             }]
  54.         }
  55.     }
  56.     lineChart = new Chart(speedCanvas, {
  57.         type: 'line',
  58.         data: speedData,
  59.         options: chartOptions
  60.     });
  61.     removedata(lineChart);
  62.     addData(lineChart,new_data);
  63.    
  64. }
  65.  
  66. function send_data(){
  67.   var data = document.getElementById("equation").value;
  68.   //console.log(data);
  69.   var left = document.getElementById("diapasonLeft").value;
  70.   var right = document.getElementById("diapasonRight").value;
  71.   var step = document.getElementById("step").value;
  72.   $.ajax({
  73.     type:"GET",
  74.     url:"calc/",
  75.     data:{
  76.       'equation':data,
  77.       'left':left,
  78.       'right':right,
  79.       'step':step,
  80.     },
  81.     dataType:"text",
  82.     success: function (response) {
  83.       var json = JSON.parse(response);
  84.       new_data = json.values;
  85.       if(json.status!=""){
  86.         alert(json.status);
  87.       } else{
  88.         if(left!='' && right!='' && step != ''){
  89.             labelFormat(left,right,step);
  90.         }else{
  91.             labelFormat();
  92.         }
  93.         console.log(labelV);
  94.         if(lineChart!=null){
  95.             lineChart.destroy()
  96.         }
  97.         drawPlot(new_data,left,right);
  98.         step = 0;
  99.       }
  100.      
  101.     }
  102.  
  103.   })
  104. }
  105. function labelFormat(left = 0,right = 5,step = 0.1){
  106.      step = parseFloat(step)
  107.      step = parseFloat(parseFloat(step).toFixed(1));
  108.      left = parseFloat(left);
  109.      right = parseFloat(right);
  110.      while(left<=right+1){
  111.         //console.log(left);
  112.         labelV.push(left.toFixed(1));
  113.         left+=step;
  114.       }
  115. }
  116. function removedata(lineChart){
  117.   lineChart.data.datasets = []
  118.   lineChart.update();
  119.   }
  120.   function addData(lineChart,data){
  121.   lineChart.data.datasets.push({
  122.   'data': data
  123.   });
  124.   lineChart.update();
  125.   labelV.length = 0;
  126.   }
  127.  drawPlot();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement