122 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| <html>
 | |
| <head>
 | |
|   <title>Graph 3D styles</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 showPerspective = document.getElementById('perspective').checked;
 | |
|       var xBarWidth = parseFloat(document.getElementById('xBarWidth').value) || undefined;
 | |
|       var yBarWidth = parseFloat(document.getElementById('yBarWidth').value) || undefined;
 | |
|       var withValue = ['bar-color', 'bar-size', 'dot-size', 'dot-color'].indexOf(style) != -1;
 | |
| 
 | |
|       // Create and populate a data table.
 | |
|       data = [];
 | |
| 
 | |
|       // 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.push({x:x, y:y, z: z, style:value});
 | |
|           }
 | |
|           else {
 | |
|             data.push({x:x, y:y, z: z});
 | |
|           }
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       // specify options
 | |
|       var options = {
 | |
|         width:  '600px',
 | |
|         height: '600px',
 | |
|         style: style,
 | |
|         xBarWidth: xBarWidth,
 | |
|         yBarWidth: yBarWidth,
 | |
|         showPerspective: showPerspective,
 | |
|         showGrid: true,
 | |
|         showShadow: false,
 | |
|         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;
 | |
|       document.getElementById('perspective').onchange = drawVisualization;
 | |
|       document.getElementById('xBarWidth').onchange = drawVisualization;
 | |
|       document.getElementById('yBarWidth').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>
 | |
| 
 | |
| <p>
 | |
|   <label for="perspective">
 | |
|     <input type="checkbox" id="perspective" checked> Show perspective
 | |
|   </label>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
|   <label for="xBarWidth"> Bar width X:
 | |
|     <input type="text" id="xBarWidth" value="" style="width:50px;"> (only applicable for styles "bar" and "bar-color")
 | |
|   </label>
 | |
| </p>
 | |
| <p>
 | |
|   <label for="yBarWidth"> Bar width Y:
 | |
|     <input type="text" id="yBarWidth" value="" style="width:50px;"> (only applicable for styles "bar" and "bar-color")
 | |
|   </label>
 | |
| </p>
 | |
| 
 | |
| <div id="mygraph"></div>
 | |
| 
 | |
| <div id="info"></div>
 | |
| </body>
 | |
| </html>
 |