HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function() {
2
// create chart
3
chart = anychart.surface()
4
// set data
5
chart.data(generateData(hyperbolicParaboloid));
6
7
// configure axes
8
chart.zAxis().stroke(null);
9
chart.zAxis().ticks().stroke("1 lightgray");
10
chart.xAxis().labels(false);
11
chart.yAxis().labels(false);
12
13
// configure grids
14
gridStroke = {color: 'lightgray', thickness: 1, dash: '5 5'};
15
chart.xGrid().stroke(gridStroke);
16
chart.yGrid().stroke(gridStroke);
17
chart.zGrid().stroke(gridStroke);
18
19
// enable box
20
chart.box({color: 'lightgray', thickness: 1});
21
22
// display chart
23
chart.container('container').draw();
24
});
25
// generate a data set from function
26
var generateData = function(z_function) {
27
var max_val = 5;
28
var step = 0.5;
29
var output = [];
30
for (var x = -max_val; x <= max_val; x += step) {
31
for (var y = -max_val; y <= max_val; y += step) {
32
output.push([x, y, z_function(x, y)]);
33
}
34
}
35
return output;
36
};
37
// hyperbolic paraboloid function
38
var hyperbolicParaboloid = function(x, y) {
39
return Math.pow(y,2)-Math.pow(x,2);
40
};