A simple radar chart
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/[email protected]/dist/react-with-addons.min.js"></script>
<script src="https://npmcdn.com/[email protected]/dist/react-dom.min.js"></script>
<script src="https://npmcdn.com/prop-types/prop-types.min.js"></script>
<script src="https://npmcdn.com/recharts/umd/Recharts.min.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;
}
Babel + JSX
const {Radar, RadarChart, PolarGrid, Legend,
PolarAngleAxis, PolarRadiusAxis} = Recharts;
const data = [
{ subject: 'Ma\nth', A: 120, B: 110, fullMark: 150 },
{ subject: 'Chinese', A: 98, B: 130, fullMark: 150 },
{ subject: 'English', A: 86, B: 130, fullMark: 150 },
{ subject: 'Geography', A: 99, B: 100, fullMark: 150 },
{ subject: 'Physics', A: 85, B: 90, fullMark: 150 },
{ subject: 'History', A: 65, B: 85, fullMark: 150 },
];
const TwoLevelPieChart = React.createClass({
render () {
return (
<RadarChart cx={300} cy={250} outerRadius={150} width={600} height={500} data={data}>
<PolarGrid />
<PolarAngleAxis
dataKey="subject"
tickFormatter={(tickItem) => {
console.log(tickItem);
return tickItem.replace(/\n/, <br />);
}}
/>
<PolarRadiusAxis tickCount={10} />
<Radar name="Mike" dataKey="A" stroke="#8884d8" fill="#8884d8" fillOpacity={0.6}/>
</RadarChart>
);
}
})
ReactDOM.render(
<TwoLevelPieChart />,
document.getElementById('container')
);