<!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>
							 |