d3rrc
Version:
Reusable D3 Charts for React.js
184 lines (132 loc) • 3.27 kB
Markdown
Pie Chart
==========
A type of graph in which a circle is divided into segments that each represent a proportion of the whole.
Properties
---
###chart-margin
The margins for the chart. These can be set as a whole or individually.
```jsx
<Chart
chart-margin={{left: 10, right: 10, top: 10, bottom: 10}}
/>
<Chart
chart-margin-bottom: 50
/>
```
###chart-width
Sets the width of the chart, if not specified is set to the current parents width.
###chart-height
The height of the chart, if not specified defaults to 420.
###chart-duration
Sets the transition time in milliseconds for when data changes to provide a smooth view update.
###chart-identity
The identity member for a given slice. By default '_id' but you can set it to whatever you want. If your identity isn't on the main object then look at getIdentity to return it.
###chart-innerRadius
If you want to render the Pie chart as a Donut this sets the inner radius to cut out.
###chart-style
Used to set custom styles on the chart.
###data
This is the data the chart will render.
Methods
---
###chart-value
Used to return the value associated with a slice of data.
###chart-colorRange
Similar to Color but used to set the start and stop colors that are then used to render the slices.
###chart-color
The color function used to colorize each of the segments.
```jsx
var color = function(name){
if(name==='something'){
return '#f00'; // red
}
if(name==='else'){
return '#0f0'; // blue
}
};
<Chart
chart-color={color}
/>
```
###chart-text
Returns the text for each individual slice.
```jsx
var text = function(d){
return d.text;
};
<Chart
chart-text={text}
/>
```
###chart-getIdentity
Called to get the identity of a slice.
```jsx
var getIdentity = function(d){
return d.data[identity] || (d.data[identity] = ++idx);
};
<Chart
chart-getIdentity={getIdentity}
/>
```
###chart-enterSlice
Called when a new slice is added to the chart and renders its initial view.
###chart-updateSlice
Called when a slice is updated and renders the updates.
###chart-exitSlice
Called when a slice is removed from the chart and does any cleanup.
Typical Usage
---
###PieChart
```jsx
var PieChart = D3RRC.PieChart;
var data = (function(size){
var data = [];
var i=0, l=size;
for(; i<l; i++){
data.push({
value: Math.floor(Math.random() * 90)+10,
text: "Test "+i
});
}
return data;
})(10);
var colorRange = d3.scale.linear()
.domain([0, 50, 100])
.range(["red", "green", "blue"]);
React.render(
<PieChart
chart-height="320"
chart-innerRadius="0"
chart-colorRange={colorRange}
data={data}
/>,
document.getElementById('output')
);
```
###PieChart (as Donut)
```jsx
var PieChart = D3RRC.PieChart;
var data = (function(size){
var data = [];
var i=0, l=size;
for(; i<l; i++){
data.push({
value: Math.floor(Math.random() * 90)+10,
text: "Test "+i
});
}
return data;
})(10);
var colorRange = d3.scale.linear()
.domain([0, 50, 100])
.range(["red", "green", "blue"]);
React.render(
<PieChart
chart-height="320"
chart-innerRadius="80"
chart-colorRange={colorRange}
data={data}
/>,
document.getElementById('output')
);
```