Implementation:DistrictDataLabs Yellowbrick TextVisualizer
| Knowledge Sources | |
|---|---|
| Domains | NLP, Visualization |
| Last Updated | 2026-02-08 05:00 GMT |
Overview
Base class providing the common interface for all Yellowbrick text visualization tools, combining the Visualizer and scikit-learn TransformerMixin APIs.
Description
The TextVisualizer is the abstract base class for all text-specific visualizers in Yellowbrick. It inherits from both Visualizer (providing matplotlib integration) and scikit-learn's TransformerMixin (providing fit_transform). It adds a fit_transform_show convenience method for the common workflow of fitting, transforming, and displaying in one call.
Usage
Subclass TextVisualizer when creating new text visualization tools. End users typically do not instantiate this class directly but use its subclasses like TSNEVisualizer, PosTagVisualizer, etc.
Code Reference
Source Location
- Repository: DistrictDataLabs_Yellowbrick
- File: yellowbrick/text/base.py
- Lines: 1-127
Signature
class TextVisualizer(Visualizer, TransformerMixin):
def __init__(self, ax=None, fig=None, **kwargs):
"""Base class for text visualizers."""
def fit(self, X, y=None, **fit_params):
"""Fits the text visualizer to data."""
def transform(self, X):
"""Pass-through transform returning X unchanged."""
def fit_transform_show(self, X, y=None, **kwargs):
"""Fit, transform, and show in one call."""
Import
from yellowbrick.text.base import TextVisualizer
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| X | array-like | Yes | Text data or vectorized text |
| y | array-like | No | Target labels |
Outputs
| Name | Type | Description |
|---|---|---|
| self | TextVisualizer | Fitted visualizer (from fit) |
| X | array-like | Unchanged input (from transform) |
Usage Examples
# TextVisualizer is used as a base class:
from yellowbrick.text.base import TextVisualizer
class MyTextViz(TextVisualizer):
def fit(self, X, y=None):
self.draw(X)
return self
def draw(self, X):
self.ax.hist([len(doc) for doc in X])
def finalize(self):
self.ax.set_title("Document Length Distribution")