<!DOCTYPE HTML> <html> <head> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <title>Graph2d | Basic Example</title> <style type="text/css"> body, html { font-family: sans-serif; } .red { fill:red; } </style> <script src="../../dist/vis.js"></script> <link href="../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" /> </head> <body> <h2>Graph2d | Label Example</h2> <div style="width:700px; font-size:14px; text-align: justify;"> This example shows the how to add a label to each point in Graph2d. Each item can have a label object which contains the content and CSS class.In addition, xOffset and yOffset will adjust the location of the label relative to the point being labelled. <br /><br /> </div> <br /> <div id="visualization"></div> <script type="text/javascript"> var container = document.getElementById('visualization'); var label1 = { content: "Label 1 (with offset)", xOffset: 20, yOffset: 20 } var label2 = { content: "Label 2", className: "red" } var label3 = { content: "Label 3" } var items = [ {group: 1, x: '2014-06-11', y: 10, label: label1}, {group: 1, x: '2014-06-12', y: 25, label: label2}, {group: 1, x: '2014-06-13', y: 30}, {group: 1, x: '2014-06-14', y: 10}, {group: 1, x: '2014-06-15', y: 15, label: label3}, {group: 1, x: '2014-06-16', y: 30}, {group: 2, x: '2014-06-17', y: 10, label:label1}, {group: 2, x: '2014-06-18', y: 25, label:label2}, {group: 2, x: '2014-06-19', y: 30}, {group: 2, x: '2014-06-20', y: 10}, {group: 2, x: '2014-06-21', y: 15, label: label3}, {group: 2, x: '2014-06-22', y: 30}, {group: 3, x: '2014-06-23', y: 10, label:label1}, {group: 3, x: '2014-06-24', y: 25, label:label2}, {group: 3, x: '2014-06-25', y: 30}, {group: 3, x: '2014-06-26', y: 10}, {group: 3, x: '2014-06-27', y: 15, label: label3}, {group: 3, x: '2014-06-28', y: 30} ]; var groups = new vis.DataSet(); groups.add( { id: 1, content: "Only draw items with labels. Make the data point bigger and a square.", options: { drawPoints: function group1Renderer(item, group, grap2d) { if (item.label == null) { return false; } return { style: 'square', size: 15 }; } } } ); groups.add( { id: 2, content: "Draw according to the Graph2d callback, but make it every datapoint square one.", options: { drawPoints: { style: 'square' } } } ); groups.add( { id: 3, content: "I want to render datapoints with no labels. Screw the graph2d options. Except the style/size should be according to the graph2d option.", options: { drawPoints: function(item, group, grap2d) { return item.label == null; } } } ); var dataset = new vis.DataSet(items); var options = { start: '2014-06-10', end: '2014-06-29', style: 'bar', drawPoints: { onRender: function(item, group, grap2d) { return item.label != null; }, style: 'circle' } }; var graph2d = new vis.Graph2d(container, dataset, groups, options); </script> </body> </html>