105 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
  <title>Graph 3D tooltips</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>';
 | 
						|
        },
 | 
						|
 | 
						|
        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>
 | 
						|
  <script src="../googleAnalytics.js"></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>
 |