UNPKG

d3rrc

Version:

Reusable D3 Charts for React.js

68 lines (66 loc) 2.11 kB
<!DOCTYPE html> <meta charset="utf-8"> <html> <head> <script type="text/javascript" src="../js/react-with-addons.js"></script> <script type="text/javascript" src="../../dist/bundle.js"></script> <script src="../js/JSXTransformer.js"></script> </head> <body> <h1>Scatter Chart</h1> <div id="output"></div> <script type="text/jsx"> var ScatterChart = D3RRC.ScatterChart; var getText = function(d){ return d.name || ''; }; var getSize = function(d){ return d.r; }; var data = (function(size){ var data = []; var i=0, l=size; for(; i<l; i++){ data.push({ x: Math.floor(Math.random() * 100), y: Math.floor(Math.random() * 100), r: Math.floor(Math.random() * 5)+5, name: "Test "+i }); } return data; })(10); var style = { circle: 'fill: steelblue; stroke: black;', 'g.xAxis .tick line': 'shape-rendering: crispEdges; stroke: steelblue; fill: none;' }; React.render( <ScatterChart chart-height="320" chart-r={getSize} chart-xAxis={true} chart-yAxis={true} chart-text={getText} chart-style={style} data={data} />, document.getElementById('output') ); //SOURCE DUMP var src = document.querySelector('[type="text/jsx"]').innerText .split('//SOURCE DUMP').shift(); var pre = document.createElement('pre'); var ws = src.match(/[ \t]+/).shift(); var reWS = new RegExp('^'+ws, 'gm'); var header = document.createElement('h2'); header.innerText = 'Source'; pre.style.padding="10px 10px 10px 10px"; pre.style.margin="0px 0px 0px 0px"; pre.style.background='silver'; pre.style.border='1px solid black'; pre.appendChild(document.createTextNode(src.replace(reWS, '').trim())); document.body.appendChild(header); document.body.appendChild(pre); </script> </body> </html>