Wordcloud Transform

The wordcloud transform computes a word cloud layout, similar to Wordle. The wordcloud transform is intended for visualizing words or phrases with the text mark type. This transform uses Jason Davies’ wordcloud implementation.

Example

In this example, word angles are randomly selected from the set [-rotate, 0, rotate].

Transform Parameters

Property Type Description
font String | Expr The font family to use for a word.
fontStyle String | Expr The font style to use for a word.
fontWeight String | Expr The font weight to use for a word.
fontSize Number | Expr The font size in pixels to use for a word.
fontSizeRange Number[ ] The range of font sizes to use for the words. If the range is specified and the fontSize is not a numeric constant, the fontSize values will automatically be scaled to lie in the range according to a square root scale.
padding Number | Expr The padding in pixels to place around a word.
rotate Number | Expr The angle in degrees to use for a word.
text Field The data field with the word text.
size Number[ ] The size of the layout, provided as a [width, height] array.
spiral String The spiral layout method used to place words. One of archimedean (the default) or rectangular.
as String[ ] The output fields written by the transform. The default is ["x", "y", "font", "fontSize", "fontStyle", "fontWeight", "angle"]

Note: The wordcloud layout requires that text marks have an align value of "center" and a baseline value of "alphabetic". If other settings are used, the text positioning will be inaccurate.

Usage

{
  "type": "wordcloud",
  "size": [{"signal": "width"}, {"signal": "height"}],
  "text": {"field": "text"},
  "font": "Helvetica Neue",
  "fontSize": {"field": "count"},
  "fontWeight": {"field": "weight"},
  "fontSizeRange": [10, 56],
  "rotate": {"field": "angle"},
  "padding": 2
}

Computes a wordcloud layout using the full width and height of the view. The fontSize, fontWeight and rotate parameters are drawn directly from data fields. A fontSizeRange of [10, 56] is used to scale the fontSize values. The results are then written to the default output fields.