メインコンテンツ

textscatter3

テキストの 3 次元散布図

説明

ts = textscatter3(x,y,z,str) は、ベクトル xy、および z で指定された位置に str の要素が配置された 3 次元テキスト散布図を作成します。

ts = textscatter3(xyz,str) は、xyz の行で指定された位置に str の要素が配置された 3 次元テキスト散布図を作成します。この構文は、textscatter(xyz(:,1),xyz(:,2),xyz(:,3),str) と等価です。

ts = textscatter3(ax,___) は、axes オブジェクト ax にプロットします。この構文は、前の構文の入力引数のいずれかと一緒に使用します。

ts = textscatter3(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、追加の TextScatter プロパティを指定します。

すべて折りたたむ

数値の string 配列を 3 次元テキスト散布図のランダムな点にプロットします。

x = rand(50,1);
y = rand(50,1);
z = rand(50,1);
str = string(1:50);
figure
textscatter3(x,y,z,str);

Figure contains an axes object. The axes object contains an object of type textscatter.

または、座標 xy、および z を行列 xyz として渡すこともできます。ここで、xy、および zxyz の列です。

xyz = [x y z];
figure
textscatter3(xyz,str)

Figure contains an axes object. The axes object contains an object of type textscatter.

単語埋め込みのテキスト散布図を作成し、単語の色を指定します。

fastTextWordEmbedding を使用して、事前学習済みの単語埋め込みを読み込みます。この関数には、Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

emb = fastTextWordEmbedding;

word2vec を使用して、最初の 250 語をベクトルに変換します。V は長さ 300 の単語ベクトルの行列です。

words = emb.Vocabulary(1:250);
V = word2vec(emb,words);
size(V)
ans = 1×2

   250   300

tsne を使用して単語ベクトルを 3 次元空間に埋め込みます。

XYZ = tsne(V,'NumDimensions',3);

3 次元テキスト散布図の XYZ で指定された座標に単語をプロットします。単語の色をランダムに指定します。

numWords = numel(words);
colorData = rand(numWords,3);
figure
textscatter3(XYZ,words,'ColorData',colorData)
title("Word Embedding t-SNE Plot")

入力引数

すべて折りたたむ

x の値。ベクトルとして指定します。xyz、および str は同じ長さでなければなりません。

例: [1 2 3]

y の値。ベクトルとして指定します。xyz、および str は同じ長さでなければなりません。

例: [1 2 3]

z の値。ベクトルとして指定します。xyz、および str は同じ長さでなければなりません。

例: [1 2 3]

xy、および z の値。行列として指定します。xyz の最初の列、2 番目の列、および 3 番目の列は、それぞれ xy、および z の値に対応します。

入力テキスト。string ベクトルまたは文字ベクトルの cell 配列として指定します。xyz、および str は同じ長さでなければなりません。

例: ["one" "two" "three"]

データ型: string | cell

axes オブジェクト。axes オブジェクトを指定しない場合、関数は現在の座標軸を使用します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'Marker','*' は、マーカーがアスタリスクであることを指定します。

ここにリストされている TextScatter オブジェクトのプロパティはサブセットにすぎません。完全なリストについては、TextScatter Properties を参照してください。

表示するテキスト データの割合。0 ~ 100 のスカラーとして指定します。すべてのテキストを表示するには、TextDensityPercentage を 100 に設定します。テキストを表示しない場合は、TextDensityPercentage を 0 に設定します。

TextDensityPercentage を 100 に設定した場合、ソフトウェアはマーカーをプロットしません。

例: 70

テキスト ラベルの最大長。正の整数として指定します。ソフトウェアは、テキスト ラベルをこの長さに切り捨て、切り捨て位置に省略記号を追加します。

例: 10

マーカーの色。次の値のいずれかとして指定します。

  • 'auto' — マーカーごとに、対応するテキスト ラベルと同じ色を使用します。

  • 'none' — マーカーを表示しません。

  • RGB 3 成分 — プロット内のすべてのマーカーに同じ色を使用します。RGB 3 成分は、各要素が色の赤、緑、および青の成分の強度を指定する 3 要素の行ベクトルです。強度は [0,1] の範囲内 (たとえば [0.5 0.6 0.7]) でなければなりません。

例: [1 0 0]

テキストの色。次の値のいずれかとして指定します。

  • RGB 3 成分 — プロット内のすべてのテキストに同じ色を使用します。RGB 3 成分は、各要素が色の赤、緑、および青の成分の強度を指定する 3 要素の行ベクトルです。強度は [0,1] の範囲内 (たとえば [0.5 0.6 0.7]) でなければなりません。

  • RGB 3 成分の 3 列の行列 — プロット内のテキスト ラベルごとに異なる色を使用します。行列の各行が 1 つの色を定義します。行数は、テキスト ラベルの数と等しくなければなりません。

  • categorical ベクトル — ベクトル内のカテゴリごとに異なる色を使用します。XData と同じ長さのベクトルとして ColorData を指定します。Colors プロパティを使用して各カテゴリの色を指定します。

例: [1 0 0; 0 1 0; 0 0 1]

カテゴリの色。RGB 3 成分の行列として指定します。RGB 3 成分は、各要素が色の赤、緑、および青の成分の強度を指定する 3 要素の行ベクトルです。強度は [0,1] の範囲内 (たとえば [0.5 0.6 0.7]) でなければなりません。

既定では、Colors は、axes オブジェクトの ColorOrder プロパティと同じです。

例: [1 0 0; 0 1 0; 0 0 1]

出力引数

すべて折りたたむ

TextScatter オブジェクト。テキスト散布図の作成後にそのプロパティにアクセスして変更するには、ts を使用します。詳細については、TextScatter Properties を参照してください。

バージョン履歴

R2017b で導入