A little word cloud generator in Python. Read more about it on the blog post or the website. The code is Python 2, but Python 3 compatible.
Fast install:
pip install wordcloud
If you are using conda, it might be even easier to use anaconda cloud:
conda install -c https://conda.anaconda.org/amueller wordcloud
For a manual install get this package:
wget https://github.com/amueller/word_cloud/archive/master.zip
unzip master.zip
rm master.zip
cd word_cloud-master
Install the package:
python setup.py install
Note that if you are not on Ubuntu, you need to pass a font_path
to the WordCloud object (docs) to point to
some existing font.
Check out examples/simple.py for a short intro. A sample output is:
Or run examples/masked.py to see more options. A sample output is:
Getting fancy with some colors:
The wordcloud_cli.py
tool can be used to generate word clouds directly from the command-line:
$ wordcloud_cli.py --text mytext.txt --imagefile wordcloud.png
If you're dealing with PDF files, then pdftotext
, included by default with many Linux distribution, comes in handy:
$ pdftotext mydocument.pdf - | wordcloud_cli.py --imagefile wordcloud.png
In the previous example, the -
argument orders pdftotext
to write the resulting text to stdout, which is then piped to the stdin of wordcloud_cli.py
.
Use wordcloud_cli.py --help
so see all available options.
Reddit Cloud is a Reddit bot which generates word clouds for comments in submissions and user histories. You can see it being operated on /u/WordCloudBot2 (top posting).
Chat Stats is a visualization program for Twitch streams, which generates word clouds for comments made by Twitch users in the chat. It also creates various charts and graphs pertaining to concurrent viewership and chat rate over time.
Twitter Word Cloud Bot is a twitter bot which generates word clouds for twitter users when it is mentioned with a particular hashtag. Here you can see it in action, while here you can see all the word clouds generated so far.
Send a pull request to add yours here.
Using Pillow instead of PIL might might get you the TypeError: 'int' object is not iterable
problem also showcased on the blog.
The wordcloud library is MIT licenced, but contains DroidSansMono.ttf, a true type font by Google, that is apache licensed.
The font is by no means integral, and any other font can be used by setting the font_path
variable when creating a WordCloud
object.