A word cloud react component built with d3-cloud.
npm install react-d3-cloud
import React from 'react';
import { render } from 'react-dom';
import WordCloud from 'react-d3-cloud';
const data = [
{ text: 'Hey', value: 1000 },
{ text: 'lol', value: 200 },
{ text: 'first impression', value: 800 },
{ text: 'very cool', value: 1000000 },
{ text: 'duck', value: 10 },
];
const fontSizeMapper = word => Math.log2(word.value) * 5;
const rotate = word => word.value % 360;
render(
<WordCloud
data={data}
fontSizeMapper={fontSizeMapper}
rotate={rotate}
/>,
document.getElementById('root')
);
Please checkout demo
for more detailed props, please refer to below:
name | description | type | required | default |
---|---|---|---|---|
data | The input data for rendering | Array<{ text: string, value: number }> | ✓ | |
width | Width of component (px) | number | 700 | |
height | Height of component (px) | number | 600 | |
fontSizeMapper | Map each element of data to font size (px) |
Function: (word: string, idx: number): number |
word => word.value; |
|
rotate | Map each element of data to font rotation degree. Or simply provide a number for global rotation. (degree) |
Function | number | 0 | |
padding | Map each element of data to font padding. Or simply provide a number for global padding. (px) |
Function | number | 5 | |
font | The font of text shown | Function | string | serif |
npm run build
sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
npm install
npm test
MIT © Yoctol