饼图数组的用户数字输入
User numeric input to array for a pie chart
我是 javascript 的初学者,如果问题过于简单,请提前致歉。
我的objective是用户输入两个数字(应该在0到100之间),然后得到这些数字的加权平均值并得到一个饼图,其中加权平均值和补码那。
这是我的代码
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
var grade_list = [];
var arrayA = ['foo', 'bar'];
var arrayB = [];
var form = document.getElementById('form');
number1 = document.getElementById('number1');
number2 = document.getElementById('number2');
form.onsubmit = function() {
var variable1 = number1.value;
var variable2 = number2.value;
};
arrayB[0]= variable1*0.35+variable2*0.75
arrayB[1]=100- arrayB[0] ;
for (var i=0; i<arrayA.length && i<arrayB.length; i++)
grade_list[i] = [arrayA[i], arrayB[i]];
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Pacman');
data.addColumn('number', 'Percentage');
data.addRows(grade_list);
var options = {
legend: 'yes',
pieSliceText: 'yes',
pieStartAngle: 135,
tooltip: { trigger: 'none' },
slices: {
0: { color: 'Blue' },
1: { color: 'Orange' }
}
};
var chart = new google.visualization.PieChart(document.getElementById('pacman'));
chart.draw(data, options);
}
</script>
</head>
<body>
<form id="form">
<input id="number1" type="number" min="1" name="number">
<input id="number2" type="number" min="1" name="number">
<button>Submit</button>
</form>
<div id="pacman" style="width: 600px; height: 400px;"></div>
</body>
</html>
提前致谢
工作示例
Note: by default button
has a behavior a submit type, so
in order to prevent form submit, the type="button"
has been
specified explicitly.
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(function() {
document.getElementsByTagName('button')[0].onclick = displayChart;
});
function displayChart() {
var grade_list = [];
var arrayA = ['foo', 'bar'];
var arrayB = [];
var number1 = parseFloat(document.getElementById('number1').value);
var number2 = parseFloat(document.getElementById('number2').value);
arrayB[0] = number1 * 0.35 + number2 * 0.75;
arrayB[1] = 100 - arrayB[0];
for (var i = 0; i < arrayA.length && i < arrayB.length; i++)
grade_list[i] = [arrayA[i], arrayB[i]];
drawChart(grade_list);
}
function drawChart(rows) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Pacman');
data.addColumn('number', 'Percentage');
data.addRows(rows);
var options = {
legend: 'yes',
pieSliceText: 'yes',
pieStartAngle: 135,
tooltip: { trigger: 'none' },
slices: {
0: { color: 'Blue' },
1: { color: 'Orange' }
}
};
var chart = new google.visualization.PieChart(document.getElementById('pacman'));
chart.draw(data, options);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<form id="form">
<input id="number1" type="number" min="1" name="number">
<input id="number2" type="number" min="1" name="number">
<button type="button">Submit</button>
</form>
<div id="pacman" style="width: 600px; height: 400px;"></div>
我是 javascript 的初学者,如果问题过于简单,请提前致歉。
我的objective是用户输入两个数字(应该在0到100之间),然后得到这些数字的加权平均值并得到一个饼图,其中加权平均值和补码那。 这是我的代码
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
var grade_list = [];
var arrayA = ['foo', 'bar'];
var arrayB = [];
var form = document.getElementById('form');
number1 = document.getElementById('number1');
number2 = document.getElementById('number2');
form.onsubmit = function() {
var variable1 = number1.value;
var variable2 = number2.value;
};
arrayB[0]= variable1*0.35+variable2*0.75
arrayB[1]=100- arrayB[0] ;
for (var i=0; i<arrayA.length && i<arrayB.length; i++)
grade_list[i] = [arrayA[i], arrayB[i]];
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Pacman');
data.addColumn('number', 'Percentage');
data.addRows(grade_list);
var options = {
legend: 'yes',
pieSliceText: 'yes',
pieStartAngle: 135,
tooltip: { trigger: 'none' },
slices: {
0: { color: 'Blue' },
1: { color: 'Orange' }
}
};
var chart = new google.visualization.PieChart(document.getElementById('pacman'));
chart.draw(data, options);
}
</script>
</head>
<body>
<form id="form">
<input id="number1" type="number" min="1" name="number">
<input id="number2" type="number" min="1" name="number">
<button>Submit</button>
</form>
<div id="pacman" style="width: 600px; height: 400px;"></div>
</body>
</html>
提前致谢
工作示例
Note: by default
button
has a behavior a submit type, so in order to prevent form submit, thetype="button"
has been specified explicitly.
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(function() {
document.getElementsByTagName('button')[0].onclick = displayChart;
});
function displayChart() {
var grade_list = [];
var arrayA = ['foo', 'bar'];
var arrayB = [];
var number1 = parseFloat(document.getElementById('number1').value);
var number2 = parseFloat(document.getElementById('number2').value);
arrayB[0] = number1 * 0.35 + number2 * 0.75;
arrayB[1] = 100 - arrayB[0];
for (var i = 0; i < arrayA.length && i < arrayB.length; i++)
grade_list[i] = [arrayA[i], arrayB[i]];
drawChart(grade_list);
}
function drawChart(rows) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Pacman');
data.addColumn('number', 'Percentage');
data.addRows(rows);
var options = {
legend: 'yes',
pieSliceText: 'yes',
pieStartAngle: 135,
tooltip: { trigger: 'none' },
slices: {
0: { color: 'Blue' },
1: { color: 'Orange' }
}
};
var chart = new google.visualization.PieChart(document.getElementById('pacman'));
chart.draw(data, options);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<form id="form">
<input id="number1" type="number" min="1" name="number">
<input id="number2" type="number" min="1" name="number">
<button type="button">Submit</button>
</form>
<div id="pacman" style="width: 600px; height: 400px;"></div>