React Base Fiddle (JSX)
Starting point for creating JSFiddles with React. This uses React with Addons.
by areski
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react/dist/react-with-addons.min.js"></script>
<script src="https://npmcdn.com/react-dom/dist/react-dom.min.js"></script>
<script src="https://npmcdn.com/react-dom/dist/react-dom-server.min.js"></script>
<script src="https://npmcdn.com/recharts/umd/Recharts.min.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
CSS
body {
margin: 0;
}
#container {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
width: 800px;
height: 800px;
background-color: #fff;
}
JavaScript 1.7
const {LineChart, Line, Tooltip} = Recharts;
const data = [
{name: 'Page A', uv: 4000, pv: 2400, amt: 2400},
{name: 'Page B', uv: 3000, pv: 1398, amt: 2210},
{name: 'Page C', uv: 2000, pv: 9800, amt: 2290},
{name: 'Page D', uv: 2780, pv: 3908, amt: 2000},
{name: 'Page E', uv: 1890, pv: 4800, amt: 2181},
{name: 'Page F', uv: 2390, pv: 3800, amt: 2500},
{name: 'Page G', uv: 3490, pv: 4300, amt: 2100},
];
const colorBreakPoint = 3000;
const TinyLineChart = React.createClass({
render () {
const { min, max } = data.reduce((result, dataPoint) => ({
min: (dataPoint.pv < result.min || result.min === 0) ? dataPoint.pv : result.min,
max: (dataPoint.pv > result.max || result.max === 0) ? dataPoint.pv : result.max,
}), { min: 0, max: 0 });
const colorBreakPointPercentage = `${(1 - ((colorBreakPoint - min) / (max - min))) * 100}%`;
return (
<LineChart width={300} height={100} data={data}>
<defs>
<linearGradient id="colorUv" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stopColor="green" />
<stop offset={colorBreakPointPercentage} stopColor="green" />
<stop offset={colorBreakPointPercentage} stopColor="red" />
<stop offset="100%" stopColor="red" />
</linearGradient>
</defs>
<Line type='monotone' dataKey='pv' stroke='url(#colorUv)' strokeWidth={2} dot={false} activeDot={false} />
<Tooltip />
</LineChart>
);
}
})
ReactDOM.render(
<TinyLineChart />,
document.getElementById('container')
);