| @ -0,0 +1,186 @@ | |||||
| <!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"/> | |||||
| </head> | |||||
| <body> | |||||
| <h2>Graph2d | Dynamic Styling Example</h2> | |||||
| <div style="width:700px; 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="500"> | |||||
| <col width="200"> | |||||
| <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="130"> | |||||
| <col width="50"> | |||||
| <tr> | |||||
| <td>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</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>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> | |||||
| </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 | |||||
| }, | |||||
| legend: {left: {position: "top-left"}} | |||||
| }; | |||||
| 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.style = document.getElementById("points").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.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> | |||||