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
// create color scale
8
var colorScale = anychart.scales.ordinalColor();
9
10
// set ranges
11
colorScale.ranges([
12
{less: -10, color: "#dd2c00"},
13
{from: -10, to: 5, color: "#ffd54f"},
14
{greater: 5,color: "#00bfa5" }
15
]);
16
17
// set color scale
18
chart.colorScale(colorScale);
19
20
// display chart
21
chart.container('container').draw();
22
});
23
// generate a data set from function
24
var generateData = function(z_function) {
25
var max_val = 5;
26
var step = 0.5;
27
var output = [];
28
for (var x = -max_val; x <= max_val; x += step) {
29
for (var y = -max_val; y <= max_val; y += step) {
30
output.push([x, y, z_function(x, y)]);
31
}
32
}
33
return output;
34
};
35
// hyperbolic paraboloid function
36
var hyperbolicParaboloid = function(x, y) {
37
return Math.pow(y,2)-Math.pow(x,2);
38
};