wordcloud

Создайте график облака слова от текстовых данных

Синтаксис

wc = wordcloud(tbl,wordVar,sizeVar)
wc = wordcloud(words,sizeData)
wc = wordcloud(C)
wc = wordcloud(parent,___)
wc = wordcloud(___,Name,Value)

Описание

пример

wc = wordcloud(tbl,wordVar,sizeVar) создает график облака слова из таблицы tbl. Переменные wordVar и sizeVar в таблице задают слова и размеры слова соответственно.

пример

wc = wordcloud(words,sizeData) создает график облака слова от элементов words с размерами слова, заданными SizeData.

пример

wc = wordcloud(C) создает график облака слова от уникальных элементов категориального массива C с размерами, соответствующими их подсчету частот. Если у вас есть текстовая Аналитика Toolbox™, то C может быть массивом строк, вектором символа или массивом ячеек из символьных векторов.

wc = wordcloud(parent,___) создает облако слова в фигуре, панели или вкладке, заданной parent.

пример

wc = wordcloud(___,Name,Value) задает дополнительные свойства WordCloudChart с помощью одного или нескольких аргументов в виде пар "имя-значение".

Примечание

Symbolic Math Toolbox расширяет функциональность wordcloud (MATLAB®) функция. Это добавляет поддержку создания облаков слова непосредственно от массивов строк и создания облаков слова от моделей сумки слов, мешка n моделей грамма и тем LDA. Для wordcloud (Symbolic Math Toolbox) страница с описанием смотрите wordcloud.

Примеры

свернуть все

Загрузите данные в качестве примера sonnetsTable. Таблица tbl содержит список слов в переменном Word и соответствующего подсчета частот в переменном Count.

load sonnetsTable
head(tbl)
ans=8×2 table
      Word       Count
    _________    _____

    '''tis'        1  
    ''Amen''       1  
    ''Fair'        2  
    ''Gainst'      1  
    ''Since'       1  
    ''This'        2  
    ''Thou'        1  
    ''Thus'        1  

Отобразите табличные данные на графике с помощью wordcloud. Задайте слова и соответствующие размеры слова, чтобы быть Word и переменными Count соответственно.

figure
wordcloud(tbl,'Word','Count');
title("Sonnets Word Cloud")

Если у вас есть текстовая Аналитика установленный Toolbox™, то можно создать облака слова непосредственно из массивов строк. Для получения дополнительной информации смотрите wordcloud (Symbolic Math Toolbox). Если у вас нет Symbolic Math Toolbox, то необходимо предварительно обработать текстовые данные вручную.

Этот пример показывает, как создать облако слова из простого текста путем чтения его в массив строк, предварительной обработки его и передачи его функции wordcloud.

Читайте текст из Сонетов Шекспира с fileread функционируют и преобразовывают его, чтобы представить в виде строки.

sonnets = string(fileread('sonnets.txt'));
extractBefore(sonnets,"II")
ans = 
    "THE SONNETS
     
     by William Shakespeare
     
     
     
     
       I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,
       But as the riper should by time decease,
       His tender heir might bear his memory:
       But thou, contracted to thine own bright eyes,
       Feed'st thy light's flame with self-substantial fuel,
       Making a famine where abundance lies,
       Thy self thy foe, to thy sweet self too cruel:
       Thou that art now the world's fresh ornament,
       And only herald to the gaudy spring,
       Within thine own bud buriest thy content,
       And tender churl mak'st waste in niggarding:
         Pity the world, or else this glutton be,
         To eat the world's due, by the grave and thee.
     
       "

Разделите sonnets в массив строк, элементы которого содержат отдельные слова. Для этого удалите символы пунктуации и соедините все строковые элементы в строку 1 на 1 и затем разделение на пробелах. Затем удалите слова меньше чем с пятью символами и преобразуйте слова в нижний регистр.

punctuationCharacters = ["." "?" "!" "," ";" ":"];
sonnets = replace(sonnets,punctuationCharacters," ");
words = split(join(sonnets));
words(strlength(words)<5) = [];
words = lower(words);
words(1:10)
ans = 10x1 string array
    "sonnets"
    "william"
    "shakespeare"
    "fairest"
    "creatures"
    "desire"
    "increase"
    "thereby"
    "beauty's"
    "might"

Преобразуйте sonnets в категориальный массив и затем постройте график использования wordcloud. Функция строит график уникальных элементов C с размерами, соответствующими их подсчету частот.

C = categorical(words);
figure
wordcloud(C);
title("Sonnets Word Cloud")

Создайте облако слова из простого текста путем чтения его в массив строк, предварительной обработки его и передачи его функции wordcloud.

Читайте текст из Сонетов Шекспира с fileread функционируют и преобразовывают его, чтобы представить в виде строки.

sonnets = string(fileread('sonnets.txt'));
extractBefore(sonnets,"II")
ans = 
    "THE SONNETS
     
     by William Shakespeare
     
     
     
     
       I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,
       But as the riper should by time decease,
       His tender heir might bear his memory:
       But thou, contracted to thine own bright eyes,
       Feed'st thy light's flame with self-substantial fuel,
       Making a famine where abundance lies,
       Thy self thy foe, to thy sweet self too cruel:
       Thou that art now the world's fresh ornament,
       And only herald to the gaudy spring,
       Within thine own bud buriest thy content,
       And tender churl mak'st waste in niggarding:
         Pity the world, or else this glutton be,
         To eat the world's due, by the grave and thee.
     
       "

Разделите sonnets в массив строк, элементы которого содержат отдельные слова. Для этого удалите символы пунктуации и соедините все строковые элементы в строку 1 на 1 и затем разделение на пробелах. Затем удалите слова меньше чем с пятью символами и преобразуйте слова в нижний регистр.

punctuationCharacters = ["." "?" "!" "," ";" ":"];
sonnets = replace(sonnets,punctuationCharacters," ");
words = split(join(sonnets));
words(strlength(words)<5) = [];
words = lower(words);
words(1:10)
ans = 10x1 string array
    "sonnets"
    "william"
    "shakespeare"
    "fairest"
    "creatures"
    "desire"
    "increase"
    "thereby"
    "beauty's"
    "might"

Найдите уникальные слова в sonnets и считайте их частоту. Создайте облако слова с помощью подсчета частот в качестве данных размера.

[numOccurrences,uniqueWords] = histcounts(categorical(words));
figure
wordcloud(uniqueWords,numOccurrences);
title("Sonnets Word Cloud")

Загрузите данные в качестве примера sonnetsTable. Таблица tbl содержит список слов в переменной Word и соответствующего подсчета частот в переменной Count.

load sonnetsTable
head(tbl)
ans=8×2 table
      Word       Count
    _________    _____

    '''tis'        1  
    ''Amen''       1  
    ''Fair'        2  
    ''Gainst'      1  
    ''Since'       1  
    ''This'        2  
    ''Thou'        1  
    ''Thus'        1  

Отобразите табличные данные на графике с помощью wordcloud. Задайте слова и соответствующие размеры слова, чтобы быть Word и переменными Count соответственно. Чтобы выбрать цвета слова к случайным значениям, установите 'Color' на случайные матричные или триплеты RGB с одной строкой для каждого слова.

numWords = size(tbl,1);
colors = rand(numWords,3);
figure
wordcloud(tbl,'Word','Count','Color',colors);
title("Sonnets Word Cloud")

Если вам установили Symbolic Math Toolbox, то можно создать облака слова непосредственно из массивов строк. Если у вас нет Symbolic Math Toolbox, то необходимо предварительно обработать текстовые данные вручную. Для примера, показывающего, как создать облако слова без Symbolic Math Toolbox, смотрите, Готовят текстовые Данные к Word Clouds.

Извлеките текст от sonnets.txt с помощью extractFileText.

str = extractFileText("sonnets.txt");
extractBefore(str,"II")
ans = 

    "THE SONNETS
     
     by William Shakespeare
     
     
     
     
       I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,
       But as the riper should by time decease,
       His tender heir might bear his memory:
       But thou, contracted to thine own bright eyes,
       Feed'st thy light's flame with self-substantial fuel,
       Making a famine where abundance lies,
       Thy self thy foe, to thy sweet self too cruel:
       Thou that art now the world's fresh ornament,
       And only herald to the gaudy spring,
       Within thine own bud buriest thy content,
       And tender churl mak'st waste in niggarding:
         Pity the world, or else this glutton be,
         To eat the world's due, by the grave and thee.
     
       "

Отобразите слова из сонетов, одним словом, облако.

figure
wordcloud(str);

Входные параметры

свернуть все

Входная таблица, со столбцами, задающими слова и размеры слова. Задайте слова и соответствующие размеры слова в переменных, данных wordVar и входными параметрами sizeVar соответственно.

Типы данных: таблица

Табличная переменная для данных слова, заданных как скаляр строки, вектор символа, числовой индекс или логический вектор.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | char | строка

Табличная переменная для данных размера, заданных как скаляр строки, вектор символа, числовой индекс или логический вектор.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | char | строка

Введите категориальные данные, заданные как категориальный массив. Функция строит график каждого уникального элемента C с размером, соответствующим histcounts(C).

Типы данных: категориальный

Введите слова, заданные как вектор строки или массив ячеек из символьных векторов.

Типы данных: представьте в виде строки | ячейка

Данные размера Word, заданные как числовой вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Родительский элемент, заданный как фигура, панель или вкладка.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'HighlightColor', 'красные' наборы цвет подсветки к красному.

Свойства WordCloudChart, перечисленные здесь, являются только подмножеством. Для полного списка смотрите WordCloudChart Properties.

Максимальное количество слов, чтобы отобразиться, заданный как неотрицательное целое число. Программное обеспечение отображает MaxDisplayWords самые большие слова.

Цвет Word, заданный как триплет RGB, вектор символа, содержащий название цвета или N-by-3 матрица, где N является длиной WordData. Если Color является матрицей, то каждая строка соответствует триплету RGB для соответствующего слова в WordData.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Пример: 'blue'

Пример: [0 0 1]

Цвет подсветки Word, заданный как триплет RGB или вектор символа, содержащий название цвета. Программное обеспечение подсвечивает самые большие слова с этим цветом.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Пример: 'blue'

Пример: [0 0 1]

Форма графика облака слова, заданного как 'oval' или 'rectangle'.

Пример: прямоугольник

Размещение размещения Word, заданное как неотрицательное целое число. Если вы неоднократно будете вызывать wordcloud с теми же входными параметрами, то размещения размещения слова будут тем же каждым разом. Чтобы получить различные размещения размещения слова, используйте различные значения LayoutNum.

Выходные аргументы

свернуть все

Объект WordCloudChart. Можно изменить свойства WordCloudChart после того, как он будет создан. Для получения дополнительной информации смотрите WordCloudChart Properties.

Советы

Symbolic Math Toolbox расширяет функциональность wordcloud (MATLAB) функция. Это добавляет поддержку создания облаков слова непосредственно от массивов строк и создания облаков слова от моделей сумки слов, мешка n моделей грамма и тем LDA. Для wordcloud (Symbolic Math Toolbox) страница с описанием смотрите wordcloud.

Расширенные возможности

Введенный в R2017b

Была ли эта тема полезной?