|
|
@ -0,0 +1,111 @@ |
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
|
|
|
<html> |
|
|
|
<head> |
|
|
|
<title>Graph 3D Axis Ticks</title> |
|
|
|
|
|
|
|
<style> |
|
|
|
body {font: 10pt arial;} |
|
|
|
</style> |
|
|
|
|
|
|
|
<script type="text/javascript" src="../../dist/vis.js"></script> |
|
|
|
|
|
|
|
<script type="text/javascript"> |
|
|
|
var data = null; |
|
|
|
var graph = null; |
|
|
|
|
|
|
|
function custom(x, y) { |
|
|
|
return (-Math.sin(x/Math.PI) * Math.cos(y/Math.PI) * 10 + 10); |
|
|
|
} |
|
|
|
|
|
|
|
// Called when the Visualization API is loaded. |
|
|
|
function drawVisualization() { |
|
|
|
var style = document.getElementById('style').value; |
|
|
|
var withValue = ['bar-color', 'bar-size', 'dot-size', 'dot-color'].indexOf(style) != -1; |
|
|
|
|
|
|
|
// Create and populate a data table. |
|
|
|
data = new vis.DataSet(); |
|
|
|
|
|
|
|
// create some nice looking data with sin/cos |
|
|
|
var steps = 5; // number of datapoints will be steps*steps |
|
|
|
var axisMax = 10; |
|
|
|
var axisStep = axisMax / steps; |
|
|
|
for (var x = 0; x <= axisMax; x+=axisStep) { |
|
|
|
for (var y = 0; y <= axisMax; y+=axisStep) { |
|
|
|
var z = custom(x,y); |
|
|
|
if (withValue) { |
|
|
|
var value = (y - x); |
|
|
|
data.add({x:x, y:y, z: z, style:value}); |
|
|
|
} |
|
|
|
else { |
|
|
|
data.add({x:x, y:y, z: z}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// specify options |
|
|
|
var options = { |
|
|
|
width: '600px', |
|
|
|
height: '600px', |
|
|
|
style: style, |
|
|
|
showPerspective: true, |
|
|
|
showGrid: true, |
|
|
|
showShadow: false, |
|
|
|
|
|
|
|
// Option tooltip can be true, false, or a function returning a string with HTML contents |
|
|
|
//tooltip: true, |
|
|
|
tooltip: function (point) { |
|
|
|
// parameter point contains properties x, y, z |
|
|
|
return 'value: <b>' + point.z + '</b>'; |
|
|
|
}, |
|
|
|
|
|
|
|
xValueLabel: function(value) { |
|
|
|
return vis.moment().add(value, 'days').format('DD MMM'); |
|
|
|
}, |
|
|
|
|
|
|
|
yValueLabel: function(value) { |
|
|
|
return value * 10 + '%'; |
|
|
|
}, |
|
|
|
|
|
|
|
keepAspectRatio: true, |
|
|
|
verticalRatio: 0.5 |
|
|
|
}; |
|
|
|
|
|
|
|
var camera = graph ? graph.getCameraPosition() : null; |
|
|
|
|
|
|
|
// create our graph |
|
|
|
var container = document.getElementById('mygraph'); |
|
|
|
graph = new vis.Graph3d(container, data, options); |
|
|
|
|
|
|
|
if (camera) graph.setCameraPosition(camera); // restore camera position |
|
|
|
|
|
|
|
document.getElementById('style').onchange = drawVisualization; |
|
|
|
} |
|
|
|
</script> |
|
|
|
</head> |
|
|
|
|
|
|
|
<body onload="drawVisualization()"> |
|
|
|
|
|
|
|
<p> |
|
|
|
<label for="style"> Style: |
|
|
|
<select id="style"> |
|
|
|
<option value="bar">bar</option> |
|
|
|
<option value="bar-color">bar-color</option> |
|
|
|
<option value="bar-size">bar-size</option> |
|
|
|
|
|
|
|
<option value="dot">dot</option> |
|
|
|
<option value="dot-line">dot-line</option> |
|
|
|
<option value="dot-color">dot-color</option> |
|
|
|
<option value="dot-size">dot-size</option> |
|
|
|
|
|
|
|
<option value="grid">grid</option> |
|
|
|
<option value="line">line</option> |
|
|
|
<option value="surface">surface</option> |
|
|
|
</select> |
|
|
|
</label> |
|
|
|
</p> |
|
|
|
|
|
|
|
<div id="mygraph"></div> |
|
|
|
|
|
|
|
<div id="info"></div> |
|
|
|
</body> |
|
|
|
</html> |