Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var new_data = [];
- var labelV = [];
- var lineChart = null;
- var speedCanvas = document.getElementById("speedChart");
- Chart.defaults.global.defaultFontFamily = "Lato";
- Chart.defaults.global.defaultFontSize = 15;
- function drawPlot(new_data,left,right){
- var speedData = {
- labels:labelV,
- datasets: [
- {
- label: '',
- backgroundColor:'rgb(0,0,0)',
- data: new_data,
- }
- ]
- };
- var chartOptions = {
- legend: {
- legendText:'Plot',
- display: true,
- position: 'top',
- labels: {
- boxWidth: 80,
- fontColor: 'black'
- }
- },
- title:{
- display:true,
- text:'Plot'
- },
- scales:{
- xAxes:[{
- ticks:{
- min:left,
- max:right,
- stepSize:1,
- },
- }],
- yAxes:[{
- gridLines:{
- offsetGridLines:true
- }
- }]
- }
- }
- lineChart = new Chart(speedCanvas, {
- type: 'line',
- data: speedData,
- options: chartOptions
- });
- removedata(lineChart);
- addData(lineChart,new_data);
- }
- function send_data(){
- var data = document.getElementById("equation").value;
- //console.log(data);
- var left = document.getElementById("diapasonLeft").value;
- var right = document.getElementById("diapasonRight").value;
- var step = document.getElementById("step").value;
- $.ajax({
- type:"GET",
- url:"calc/",
- data:{
- 'equation':data,
- 'left':left,
- 'right':right,
- 'step':step,
- },
- dataType:"text",
- success: function (response) {
- var json = JSON.parse(response);
- new_data = json.values;
- if(json.status!=""){
- alert(json.status);
- } else{
- if(left!='' && right!='' && step != ''){
- labelFormat(left,right,step);
- }else{
- labelFormat();
- }
- console.log(labelV);
- if(lineChart!=null){
- lineChart.destroy()
- }
- drawPlot(new_data,left,right);
- step = 0;
- }
- }
- })
- }
- function labelFormat(left = 0,right = 5,step = 0.1){
- step = parseFloat(step)
- step = parseFloat(parseFloat(step).toFixed(1));
- left = parseFloat(left);
- right = parseFloat(right);
- while(left<=right+1){
- //console.log(left);
- labelV.push(left.toFixed(1));
- left+=step;
- }
- }
- function removedata(lineChart){
- lineChart.data.datasets = []
- lineChart.update();
- }
- function addData(lineChart,data){
- lineChart.data.datasets.push({
- 'data': data
- });
- lineChart.update();
- labelV.length = 0;
- }
- drawPlot();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement