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