Преобразование wordcloud
Преобразование wordcloud рассчитывает размещение слов в облаке, похожем на Wordle. Оно предназначено для изображения слов и фраз текстовыми примитивами. Используется реализация облака слов Джейсона Дэвиса.
Пример
В этом примере угол поворота слов случайно выбирается из набора [-rotate, 0, rotate].
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| font | String | Expr | Семейство шрифта слова. |
| fontStyle | String | Expr | Начертание шрифта слова. |
| fontWeight | String | Expr | Насыщенность шрифта слова. |
| fontSize | Number | Expr | Размер шрифта слова в пикселях. |
| fontSizeRange | Number[ ] | Диапазон размеров шрифта. Если он задан и fontSize не является постоянным числом, размеры автоматически приводятся к этому диапазону по шкале квадратного корня. |
| padding | Number | Expr | Отступ вокруг слова в пикселях. |
| rotate | Number | Expr | Угол поворота слова в градусах. |
| text | Field | Поле данных с текстом слова. |
| size | Number[ ] | Размер области размещения в виде массива [width, height]. |
| spiral | String | Способ спирального размещения слов: archimedean (по умолчанию) или rectangular. |
| as | String[ ] | Имена выходных полей (по умолчанию ["x", "y", "font", "fontSize", "fontStyle", "fontWeight", "angle"]). |
Примечание: для правильного размещения слов у текстовых примитивов должны быть align со значением "center" и baseline со значением "alphabetic". При других значениях положение текста будет неточным.
Использование
{
"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
}
Рассчитывает облако слов во всю ширину и высоту представления. Значения fontSize, fontWeight и rotate берутся непосредственно из полей данных. Диапазон fontSizeRange [10, 56] масштабирует размеры шрифта. Результаты записываются в выходные поля по умолчанию.