| <!DOCTYPE HTML> | |
| <html> | |
| 
 | |
| <head> | |
|     <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> | |
|     <meta content="utf-8" http-equiv="encoding"> | |
|     <title>Graph2d | Dynamic Styling</title> | |
| 
 | |
|     <style type="text/css"> | |
|         body, html { | |
|             font-family: sans-serif; | |
|         } | |
|     </style> | |
| 
 | |
|     <script src="../../dist/vis.js"></script> | |
|     <link href="../../dist/vis.css" rel="stylesheet" type="text/css"/> | |
| <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-61231638-1', 'auto');ga('send', 'pageview');</script></head> | |
| <body> | |
| <h2>Graph2d | Dynamic Styling Example</h2> | |
| 
 | |
| <div style="width:800px; font-size:14px; text-align: justify;"> | |
|     This example shows how to programmatically change the styling of a group. While this can also | |
|     be done in CSS, this must be statically defined, and the programmatic interface allows the | |
|     user to define the look of the graph at runtime. | |
| </div> | |
| <br/> | |
| 
 | |
| 
 | |
| <table> | |
|     <col width="600"> | |
|     <col width="220"> | |
|     <tr> | |
|         <td style="padding-right: 20px; border-right: 1px solid;"> | |
|             <div id="visualization"></div> | |
|         </td> | |
|         <td style="padding-left: 5px;"> | |
|             <table style="font-size: 12px;"> | |
|                 <col width="150"> | |
|                 <col width="50"> | |
|                 <tr> | |
|                     <td>Line Color</td> | |
|                     <td> | |
|                         <select id="color" onchange="updateStyle()"> | |
|                             <option value="stroke:green;">green</option> | |
|                             <option value="stroke:red;">red</option> | |
|                             <option value="stroke:blue;" selected="selected">blue</option> | |
|                             <option value="stroke:black;">black</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Line Style</td> | |
|                     <td> | |
|                         <select id="line" onchange="updateStyle()"> | |
|                             <option value="stroke-dasharray:1 0;" selected="selected">line</option> | |
|                             <option value="stroke-dasharray:10 10;">dash</option> | |
|                             <option value="stroke-dasharray:2 2;">dot</option> | |
|                             <option value="stroke-dasharray:10 5 2 5;">dash-dot</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Line thickness</td> | |
|                     <td> | |
|                         <select id="thickness" onchange="updateStyle()"> | |
|                             <option value="stroke-width:0;">0</option> | |
|                             <option value="stroke-width:1;">1</option> | |
|                             <option value="stroke-width:2;" selected="selected">2</option> | |
|                             <option value="stroke-width:3;">3</option> | |
|                             <option value="stroke-width:4;">4</option> | |
|                             <option value="stroke-width:5;">5</option> | |
|                             <option value="stroke-width:6;">6</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Fill Position</td> | |
|                     <td> | |
|                         <select id="fill" onchange="updateStyle()"> | |
|                             <option value="">none</option> | |
|                             <option value="top">top</option> | |
|                             <option value="bottom" selected="selected">bottom</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Fill Color</td> | |
|                     <td> | |
|                         <select id="fillcolor" onchange="updateStyle()"> | |
|                             <option value="fill:green;">green</option> | |
|                             <option value="fill:red;">red</option> | |
|                             <option value="fill:blue;" selected="selected">blue</option> | |
|                             <option value="fill:black;">black</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Fill Opacity</td> | |
|                     <td> | |
|                         <select id="fillopacity" onchange="updateStyle()"> | |
|                             <option value="opacity:0.1;">0.1</option> | |
|                             <option value="opacity:0.2;">0.2</option> | |
|                             <option value="opacity:0.3;">0.3</option> | |
|                             <option value="opacity:0.4;">0.4</option> | |
|                             <option value="opacity:0.5;">0.5</option> | |
|                             <option value="opacity:0.6;" selected="selected">0.6</option> | |
|                             <option value="opacity:0.7;">0.7</option> | |
|                             <option value="opacity:0.8;">0.8</option> | |
|                             <option value="opacity:0.9;">0.9</option> | |
|                             <option value="opacity:1;">1</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Points Shape</td> | |
|                     <td> | |
|                         <select id="points" onchange="updateStyle()"> | |
|                             <option value="">none</option> | |
|                             <option value="circle">circle</option> | |
|                             <option value="square" selected="selected">square</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Points Size</td> | |
|                     <td> | |
|                         <select id="pointsize" onchange="updateStyle()"> | |
|                             <option value="1">1</option> | |
|                             <option value="2">2</option> | |
|                             <option value="3">3</option> | |
|                             <option value="4">4</option> | |
|                             <option value="5">5</option> | |
|                             <option value="6" selected="selected">6</option> | |
|                             <option value="8">8</option> | |
|                             <option value="10">10</option> | |
|                             <option value="15">15</option> | |
|                             <option value="20">20</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Points Color</td> | |
|                     <td> | |
|                         <select id="pointcolor" onchange="updateStyle()"> | |
|                             <option value="stroke:green;">green</option> | |
|                             <option value="stroke:red;">red</option> | |
|                             <option value="stroke:blue;" selected="selected">blue</option> | |
|                             <option value="stroke:black;">black</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|                 <tr> | |
|                     <td>Point Line Thickness</td> | |
|                     <td> | |
|                         <select id="pointthickness" onchange="updateStyle()"> | |
|                             <option value="stroke-width:0;">0</option> | |
|                             <option value="stroke-width:1;">1</option> | |
|                             <option value="stroke-width:2;" selected="selected">2</option> | |
|                             <option value="stroke-width:3;">3</option> | |
|                             <option value="stroke-width:4;">4</option> | |
|                             <option value="stroke-width:5;">5</option> | |
|                             <option value="stroke-width:6;">6</option> | |
|                         </select> | |
|                     </td> | |
|                 <tr> | |
|                 </tr> | |
|                   <td>Points Fill Color</td> | |
|                     <td> | |
|                         <select id="pointfill" onchange="updateStyle()"> | |
|                             <option value="fill:green;">green</option> | |
|                             <option value="fill:red;">red</option> | |
|                             <option value="fill:blue;" selected="selected">blue</option> | |
|                             <option value="fill:black;">black</option> | |
|                         </select> | |
|                     </td> | |
|                 </tr> | |
|             </table> | |
|         </td> | |
|     </tr> | |
| </table> | |
| 
 | |
| 
 | |
| <script type="text/javascript"> | |
| 
 | |
|     var container = document.getElementById('visualization'); | |
|     var items = [ | |
|         {x: '2014-06-11', y: 10, group: 0}, | |
|         {x: '2014-06-12', y: 25, group: 0}, | |
|         {x: '2014-06-13', y: 30, group: 0}, | |
|         {x: '2014-06-14', y: 10, group: 0}, | |
|         {x: '2014-06-15', y: 15, group: 0}, | |
|         {x: '2014-06-16', y: 30, group: 0} | |
|     ]; | |
| 
 | |
|     var dataset = new vis.DataSet(items); | |
|     var options = { | |
|         start: '2014-06-10', | |
|         end: '2014-06-18', | |
|         dataAxis: { | |
|             showMinorLabels: false, | |
|             icons: true | |
|         } | |
|     }; | |
| 
 | |
|     var groupData = { | |
|         id: 0, | |
|         content: "Group Name", | |
|         options: { | |
|             drawPoints: { | |
|                 style: 'square' // square, circle | |
|             }, | |
|             shaded: { | |
|                 orientation: 'bottom' // top, bottom | |
|             } | |
|         } | |
|     }; | |
| 
 | |
|     var groups = new vis.DataSet(); | |
|     groups.add(groupData); | |
| 
 | |
|     var graph2d = new vis.Graph2d(container, dataset, groups, options); | |
|     updateStyle(); | |
| 
 | |
|     function updateStyle() { | |
|         groupData.style = ""; | |
|         groupData.style += document.getElementById("color").value; | |
|         groupData.style += document.getElementById("line").value; | |
|         groupData.style += document.getElementById("thickness").value; | |
| 
 | |
|         groupData.options.drawPoints = {}; | |
|         groupData.options.drawPoints.styles = ""; | |
|         groupData.options.drawPoints.style = document.getElementById("points").value; | |
|         groupData.options.drawPoints.styles += document.getElementById("pointcolor").value; | |
|         groupData.options.drawPoints.styles += document.getElementById("pointthickness").value; | |
|         groupData.options.drawPoints.styles += document.getElementById("pointfill").value; | |
|         groupData.options.drawPoints.size = Number(document.getElementById("pointsize").value); | |
|         if (groupData.options.drawPoints.style == "") { | |
|             groupData.options.drawPoints = false; | |
|         } | |
| 
 | |
|         groupData.options.shaded = {}; | |
|         groupData.options.shaded.style = ""; | |
|         groupData.options.shaded.style += document.getElementById("fillcolor").value; | |
|         groupData.options.shaded.style += document.getElementById("fillopacity").value; | |
|         groupData.options.shaded.orientation = document.getElementById("fill").value; | |
|         if (groupData.options.shaded.orientation == "") { | |
|             groupData.options.shaded = false; | |
|         } | |
| 
 | |
|         var groups = new vis.DataSet(); | |
|         groups.add(groupData); | |
|         graph2d.setGroups(groups); | |
|     } | |
| </script> | |
| </body> | |
| </html>
 |