UNPKG

dygraphs

Version:

dygraphs is a fast, flexible open source JavaScript charting library.

87 lines (79 loc) 2.47 kB
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>legendFormatter</title> <link rel="stylesheet" type="text/css" href="../dist/dygraph.css" /> <link rel="stylesheet" type="text/css" href="../common/vextlnk.css" /> <script type="text/javascript" src="../dist/dygraph.js"></script> <style> #demodiv { width: 640px; height: 480px; display: inline-block; vertical-align: top; } #legend { display: inline-block; vertical-align: top; } </style> </head> <body> <h2>legendFormatter</h2> <p>This page demonstrates use of <a href="../options.html#legendFormatter"><code>legendFormatter</code></a>, which can be used to create more complex legends than <code>valueFormatter</code>.</p> <div id="demodiv"></div> <div id="legend"></div> <script type="text/javascript"><!--//--><![CDATA[//><!-- Dygraph.onDOMready(function onDOMready() { function legendFormatter(data) { if (data.x == null) { // This happens when there's no selection and {legend: 'always'} is set. return '<br>' + data.series.map(function(series) { return series.dashHTML + ' ' + series.labelHTML }).join('<br>'); } var html = this.getLabels()[0] + ': ' + data.xHTML; data.series.forEach(function(series) { if (!series.isVisible) return; var labeledData = series.labelHTML + ': ' + series.yHTML; if (series.isHighlighted) { labeledData = '<b>' + labeledData + '</b>'; } html += '<br>' + series.dashHTML + ' ' + labeledData; }); return html; } new Dygraph( document.getElementById("demodiv"), function() { var zp = function(x) { if (x < 10) return "0"+x; else return x; }; var r = "date,parabola,line,another line,sine wave\n"; for (var i=1; i<=31; i++) { r += "2006-10-" + zp(i); r += "," + 10*(i*(31-i)); r += "," + 10*(8*i); r += "," + 10*(250 - 8*i); r += "," + 10*(125 + 125 * Math.sin(0.3*i)); r += "\n"; } return r; }, { labelsDiv: document.getElementById('status'), labelsKMB: true, colors: ["rgb(51,204,204)", "rgb(255,100,100)", "#00DD55", "rgba(50,50,200,0.4)"], title: 'Interesting Shapes', xlabel: 'Date', ylabel: 'Count', highlightSeriesOpts: { strokeWidth: 2 }, labelsDiv: document.getElementById('legend'), legend: 'always', legendFormatter: legendFormatter } ); }); //--><!]]></script> </body> </html>