A little word cloud generator for creating visually appealing word clouds from text data.
npx @tessl/cli install tessl/pypi-wordcloud@1.9.00
# WordCloud
1
2
A comprehensive Python library for generating word cloud visualizations from text data. WordCloud enables the creation of visually appealing word clouds with advanced features including arbitrary shape masking, intelligent word placement algorithms, customizable color schemes, and multi-language support.
3
4
## Package Information
5
6
- **Package Name**: wordcloud
7
- **Language**: Python
8
- **Installation**: `pip install wordcloud`
9
- **Dependencies**: numpy, pillow, matplotlib
10
11
## Core Imports
12
13
```python
14
from wordcloud import WordCloud
15
```
16
17
Common imports for full functionality:
18
19
```python
20
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
21
from wordcloud import random_color_func, get_single_color_func
22
```
23
24
## Basic Usage
25
26
```python
27
from wordcloud import WordCloud
28
import matplotlib.pyplot as plt
29
30
# Simple word cloud from text
31
text = "Python programming is fun and exciting. Python is powerful and easy to learn."
32
33
# Generate word cloud
34
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
35
36
# Display using matplotlib
37
plt.figure(figsize=(10, 5))
38
plt.imshow(wordcloud, interpolation='bilinear')
39
plt.axis('off')
40
plt.show()
41
42
# Save to file
43
wordcloud.to_file('wordcloud.png')
44
```
45
46
## Architecture
47
48
WordCloud uses a collision-free placement algorithm based on integral image queries to efficiently position words without overlap. The core components include:
49
50
- **WordCloud Class**: Main interface for generating and rendering word clouds
51
- **Text Processing**: Tokenization, stopword filtering, and frequency analysis
52
- **Layout Engine**: Collision detection and word placement using integral images
53
- **Color Generation**: Multiple color schemes including random, single-color, and image-based
54
- **Rendering**: Support for multiple output formats (PIL Image, numpy array, PNG, SVG)
55
56
## Capabilities
57
58
### Core Word Cloud Generation
59
60
Primary functionality for creating word clouds from text or frequency data, with comprehensive customization options for appearance, layout, and text processing.
61
62
```python { .api }
63
class WordCloud:
64
def __init__(self, font_path=None, width=400, height=200, **kwargs): ...
65
def generate(self, text): ...
66
def generate_from_frequencies(self, frequencies, max_font_size=None): ...
67
def to_image(self): ...
68
def to_file(self, filename): ...
69
```
70
71
[Core Generation](./core-generation.md)
72
73
### Color Generation and Styling
74
75
Advanced color customization including random colors, single-color variations, matplotlib colormap integration, and image-based color extraction for sophisticated styling.
76
77
```python { .api }
78
def random_color_func(**kwargs): ...
79
def get_single_color_func(color): ...
80
class ImageColorGenerator:
81
def __init__(self, image, default_color=None): ...
82
```
83
84
[Color Generation](./color-generation.md)
85
86
### Text Processing and Tokenization
87
88
Text analysis capabilities including tokenization, stopword filtering, plural normalization, and statistical bigram detection for meaningful phrase extraction.
89
90
```python { .api }
91
# Import from wordcloud.tokenization
92
def unigrams_and_bigrams(words, stopwords, normalize_plurals=True, collocation_threshold=30): ...
93
def process_tokens(words, normalize_plurals=True): ...
94
```
95
96
[Text Processing](./text-processing.md)
97
98
### Command Line Interface
99
100
Complete command-line tool with comprehensive options for generating word clouds directly from text files with full parameter control and input/output redirection support.
101
102
```python { .api }
103
def main(args, text, imagefile): ...
104
def parse_args(arguments): ...
105
```
106
107
[Command Line Interface](./cli-interface.md)
108
109
## Constants and Utilities
110
111
```python { .api }
112
STOPWORDS: set[str] # Default English stopwords set
113
FONT_PATH: str # Default font file path (DroidSansMono.ttf)
114
```
115
116
The `STOPWORDS` constant provides a comprehensive set of common English words to filter from word cloud generation.
117
118
The `FONT_PATH` constant provides the default path to the DroidSansMono font file used when no custom font is specified.