<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
							 | 
						|
								<html>
							 | 
						|
								<head>
							 | 
						|
								    <title>Graph 3D tooltips</title>
							 | 
						|
								
							 | 
						|
								    <style>
							 | 
						|
								        body {font: 10pt arial;}
							 | 
						|
								    </style>
							 | 
						|
								
							 | 
						|
								    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
							 | 
						|
								    <script type="text/javascript" src="../graph3d.js"></script>
							 | 
						|
								
							 | 
						|
								    <script type="text/javascript">
							 | 
						|
								        var data = null;
							 | 
						|
								        var graph = null;
							 | 
						|
								
							 | 
						|
								        google.load("visualization", "1");
							 | 
						|
								
							 | 
						|
								        // Set callback to run when API is loaded
							 | 
						|
								        google.setOnLoadCallback(drawVisualization);
							 | 
						|
								
							 | 
						|
								        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 google.visualization.DataTable();
							 | 
						|
								            data.addColumn('number', 'x');
							 | 
						|
								            data.addColumn('number', 'y');
							 | 
						|
								            data.addColumn('number', 'z');
							 | 
						|
								            if (withValue) data.addColumn('number', 'value');
							 | 
						|
								
							 | 
						|
								            // 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);
							 | 
						|
								                    var values = [x, y, z];
							 | 
						|
								                    if (withValue) {
							 | 
						|
								                        var value = (y - x);
							 | 
						|
								                        values.push(value);
							 | 
						|
								                    }
							 | 
						|
								                    data.addRow(values);
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								
							 | 
						|
								            // 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>';
							 | 
						|
								                },
							 | 
						|
								
							 | 
						|
								                keepAspectRatio: true,
							 | 
						|
								                verticalRatio: 0.5
							 | 
						|
								            };
							 | 
						|
								
							 | 
						|
								            var camera = graph ? graph.getCameraPosition() : null;
							 | 
						|
								
							 | 
						|
								            // Instantiate our graph object.
							 | 
						|
								            graph = new links.Graph3d(document.getElementById('mygraph'));
							 | 
						|
								
							 | 
						|
								            // Draw our graph with the created data and options
							 | 
						|
								            graph.draw(data, options);
							 | 
						|
								
							 | 
						|
								            if (camera) graph.setCameraPosition(camera); // restore camera position
							 | 
						|
								
							 | 
						|
								            document.getElementById("style").onchange = drawVisualization;
							 | 
						|
								        }
							 | 
						|
								    </script>
							 | 
						|
								</head>
							 | 
						|
								
							 | 
						|
								<body>
							 | 
						|
								
							 | 
						|
								<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>
							 |