react-wordcloud
Version:
Simple React + D3 wordcloud component with powerful features.
122 lines (87 loc) • 2.62 kB
Markdown
with powerful features. Uses the [`d3-cloud`](https://github.com/jasondavies/d3-cloud) layout.

```sh
npm install react-wordcloud
```
Note that `react-wordcloud` requires `react^16.13.0` as a peer dependency.
```js
import React from 'react';
import ReactWordcloud from 'react-wordcloud';
const words = [
{
text: 'told',
value: 64,
},
{
text: 'mistake',
value: 11,
},
{
text: 'thought',
value: 16,
},
{
text: 'bad',
value: 17,
},
]
function SimpleWordcloud() {
return <ReactWordcloud words={words} />
}
```
An example showing various features (callbacks, options, size).
```js
const callbacks = {
getWordColor: word => word.value > 50 ? "blue" : "red",
onWordClick: console.log,
onWordMouseOver: console.log,
getWordTooltip: word => `${word.text} (${word.value}) [${word.value > 50 ? "good" : "bad"}]`,
}
const options = {
rotations: 2,
rotationAngles: [-90, 0],
};
const size = [600, 400];
const words = [...];
function MyWordcloud() {
return (
<ReactWordcloud
callbacks={callbacks}
options={options}
size={size}
words={words}
/>
);
}
```
View all documented examples and gallery of `react-wordcloud` applications at https://react-wordcloud.netlify.com/.
You can also run the examples locally:
```sh
git clone git@github.com:chrisrzhou/react-wordcloud
cd react-wordcloud
npm install && npm run docs
```
[](https://codesandbox.io/s/bgov9)
[](https://codesandbox.io/s/55sb8)
[](https://codesandbox.io/s/fnk8w)
[](https://codesandbox.io/s/4lecp)
Create wordclouds using this wordcloud generator: https://wordcloud-generator.netlify.com/
Features supported:
- Edit and Upload text inputs
- Various NLP features (stopwords, ngrams)
- Wordcloud configurations
- Export/save/share wordclouds
## Contributing
The code is written in `typescript`, linted with `xo`, and built with `microbundle`. Examples and documentations are built with `docz`.
Feel free to contribute by submitting a pull request.
Simple React + D3 wordcloud component