Main Content

swarmchart3

3 次元粒子群散布図

R2020b 以降

  • 3-D swarm scatter chart

説明

ベクトル データ

swarmchart3(x,y,z) は 3 次元粒子群チャートを表示します。これは、点が x 次元および y 次元でオフセットした (微変動した) 散布図です。点は特徴的な形状を形成し、それぞれの形状のアウトラインはバイオリン図に類似しています。3 次元粒子群チャートは、離散 (xy) データを z データの分布と共に可視化するのに役立ちます。それぞれの (xy) 位置で、点は z のカーネル密度推定に基づいて微変動します。

swarmchart3(x,y,z,sz) はマーカーのサイズを指定します。すべてのマーカーを同じサイズでプロットするには、sz をスカラーとして指定します。マーカーをさまざまなサイズでプロットするには、szxy および z と同じサイズのベクトルとして指定します。

swarmchart3(x,y,z,sz,c) はマーカーの色を指定します。すべてのマーカーを同じ色でプロットするには、c を 1 つの色名または RGB 3 成分として指定します。それぞれのマーカーに異なる色を割り当てるには、xy、および z と同じサイズのベクトルを指定します。または、RGB 3 成分の 3 列の行列を指定できます。行列の行数は xy および z の長さと一致していなければなりません。

swarmchart3(___,mkr) は、既定のマーカー (円) とは異なるマーカーを指定します。前述の任意の構文で、すべての引数の後に mkr を指定します。

swarmchart3(___,'filled') は、マーカーを塗りつぶします。前述の任意の構文で、すべての引数の後に 'filled' オプションを指定します。

テーブル データ

swarmchart3(tbl,xvar,yvar,zvar) は、table tbl の変数 xvaryvar および zvar をプロットします。1 つのデータ セットをプロットするには、xvaryvar、および zvar にそれぞれ 1 つの変数を指定します。複数のデータ セットをプロットするには、それらの引数の少なくとも 1 つに複数の変数を指定します。複数の変数を指定する引数では、同数の変数を指定しなければなりません。

swarmchart3(tbl,xvar,yvar,zvar,'filled') は、塗りつぶされた円を使用して、table の指定された変数をプロットします。

追加オプション

swarmchart3(ax,___) は、ターゲット座標軸に粒子群チャートを表示します。前述の任意の構文で、すべての引数の前に座標軸を指定します。

swarmchart3(___,Name,Value) は、1 つ以上の Name,Value 引数を使用して、粒子群チャートの追加のプロパティを指定します。以下に例を示します。

  • swarmchart3(x,y,z,'LineWidth',2) は、マーカーの輪郭が 2 ポイントの粒子群チャートを作成します。

  • swarmchart3(tbl,'MyX','MyY','MyZ','ColorVariable','MyColors') は、table のデータから粒子群チャートを作成し、その table のデータを使用してマーカーの色をカスタマイズします。

プロパティの一覧については、Scatter のプロパティ を参照してください。

s = swarmchart3(___) は、Scatter オブジェクトを返します。チャートのプロパティを作成後に変更するには、s を使用します。プロパティの一覧については、Scatter のプロパティ を参照してください。

すべて折りたたむ

tbl という名前の timetable に BicycleCounts.csv データ セットを読み込みます。このデータ セットには、ある期間の自転車の交通量データが含まれています。tbl の最初の 5 行を表示します。

tbl = readtable("BicycleCounts.csv");
tbl(1:5,:)
ans=5×5 table
         Timestamp               Day         Total    Westbound    Eastbound
    ____________________    _____________    _____    _________    _________

    24-Jun-2015 00:00:00    {'Wednesday'}     13          9            4    
    24-Jun-2015 01:00:00    {'Wednesday'}      3          3            0    
    24-Jun-2015 02:00:00    {'Wednesday'}      1          1            0    
    24-Jun-2015 03:00:00    {'Wednesday'}      1          1            0    
    24-Jun-2015 04:00:00    {'Wednesday'}      1          1            0    

それぞれの観察値からの日の名前を使用してベクトル x を作成します。

daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"];
x = categorical(tbl.Day,daynames);

table のそれぞれの観察値に従って値 "pm" または "am" を含む categorical ベクトル y を作成します。東向き交通量データのベクトル z を作成します。次に、xy および z の粒子群チャートを作成します。チャートは、週の朝と夕方それぞれのデータの分布を示しています。

ispm = tbl.Timestamp.Hour < 12;
y = categorical;
y(ispm) = "pm";
y(~ispm) = "am";
z= tbl.Eastbound;
swarmchart3(x,y,z);

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

ゼロと 1 の組み合わせとしてベクトル x を作成し、すべて 1 を含むベクトルとして y を作成します。乱数の二乗のベクトルとして z を作成します。次に xy、および z の粒子群チャートを作成し、マーカーのサイズを 5 に指定します。

x = [zeros(1,500) ones(1,500)];
y = ones(1,1000);
z = randn(1,1000).^2;
swarmchart3(x,y,z,5);

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

ゼロと 1 の組み合わせとしてベクトル x を作成し、すべて 1 を含むベクトルとして y を作成します。乱数の二乗のベクトルとして z を作成します。次に xy、および z の粒子群チャートを作成し、点 ('.') マーカー記号を指定します。

x = [zeros(1,500) ones(1,500)];
y = ones(1,1000);
z = randn(1,1000).^2;
swarmchart3(x,y,z,'.');

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

ゼロと 1 の組み合わせを含むベクトル x を作成し、1 と 2 のランダムな組み合わせを含む y を作成します。乱数の二乗のベクトルとして z を作成します。z の平方根としてベクトル c を作成して、マーカーの色を指定します。次に、xy および z の粒子群チャートを作成します。マーカーのサイズを 50 に設定し、色を c として指定します。c の値が figure のカラーマップにインデックス付けされます。'filled' オプションを使用して、マーカーを中空の円として表示するのではなく色で塗りつぶします。

x = [zeros(1,500) ones(1,500)];
y = randi(2,1,1000);
z = randn(1,1000).^2;
c = sqrt(z);
swarmchart3(x,y,z,50,c,'filled');

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

ゼロと 1 の組み合わせを含むベクトル x を作成し、1 ~ 4 のランダムな数の組み合わせを含む y を作成します。乱数の二乗のベクトルとして z を作成します。次に、Scatter オブジェクトを格納する戻り引数を使用して関数 swarmchart を呼び出し、xy、および z の粒子群チャートを作成します。x 軸と y 軸のラベルを追加して、それぞれの次元で jitter プロパティ変更の効果が確認できるようにします。

x = [zeros(1,500) ones(1,500)];
y = randi(4,1,1000);
z = randn(1,1000).^2;
s = swarmchart3(x,y,z);
xlabel('X')
ylabel('Y')

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type scatter.

Scatter オブジェクトの jitter プロパティを設定して、点のクラスターの形状を変更します。x 次元で、一様乱数ジッターを指定し、ジッター幅を 0.5 データ単位に変更します。y 次元で、正規乱数ジッターを指定し、ジッター幅を 0.1 データ単位に変更します。点の間隔は、指定するジッター幅を超えません。

s.XJitter = 'rand';
s.XJitterWidth = 0.5;
s.YJitter = 'randn';
s.YJitterWidth = 0.1;

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type scatter.

table のデータをプロットするには、table を関数 swarm3 に渡してプロット対象の変数を指定すると便利です。たとえば、4 つの乱数の変数をもつ table を作成し、変数 XY1 および Z をプロットします。既定では、軸ラベルは変数名と一致します。

tbl = table(randi(2,100,1),randi(2,100,1),randi([10 11],100,1), ...
   randn(100,1),'VariableNames',{'X','Y1','Y2','Z'});

swarmchart3(tbl,'X','Y1','Z')

Figure contains an axes object. The axes object with xlabel X, ylabel Y1 contains an object of type scatter.

また、複数の変数を同時にプロットできます。たとえば、yvar 引数を cell 配列 {'Y1','Y2'} として指定することにより、Y1 および Y2"y" 軸にプロットします。次に、凡例を追加します。凡例ラベルは変数名と一致します。

swarmchart3(tbl,'X',{'Y1','Y2'},'Z')
legend

Figure contains an axes object. The axes object with xlabel X contains 2 objects of type scatter.

table のデータをプロットして色とマーカー サイズをカスタマイズする方法の 1 つとして、ColorVariable プロパティと SizeData プロパティを設定する方法があります。これらのプロパティは、関数 swarmchart3 を呼び出すときに名前と値の引数として設定するか、後で Scatter オブジェクトに対して設定できます。

たとえば、4 つの乱数の変数をもつ table を作成し、変数 XY および Z を塗りつぶされたマーカーでプロットします。名前と値の引数 ColorVariable を指定してマーカーの色を変更します。Scatter オブジェクトを s として返すため、後で他のプロパティを設定できます。

tbl = table(randi(2,100,1),randn(100,1),randn(100,1),randn(100,1), ...
   'VariableNames',{'X','Y','Z','Colors'});

s = swarmchart3(tbl,'X','Y','Z','filled','ColorVariable','Colors');

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type scatter.

SizeData プロパティを設定してマーカー サイズを 100 ポイントに変更します。

s.SizeData = 100;

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type scatter.

tbl という名前の timetable に BicycleCounts.csv データ セットを読み込みます。このデータ セットには、ある期間の自転車の交通量データが含まれています。tbl の最初の 5 行を表示します。

tbl = readtable("BicycleCounts.csv");
tbl(1:5,:)
ans=5×5 table
         Timestamp               Day         Total    Westbound    Eastbound
    ____________________    _____________    _____    _________    _________

    24-Jun-2015 00:00:00    {'Wednesday'}     13          9            4    
    24-Jun-2015 01:00:00    {'Wednesday'}      3          3            0    
    24-Jun-2015 02:00:00    {'Wednesday'}      1          1            0    
    24-Jun-2015 03:00:00    {'Wednesday'}      1          1            0    
    24-Jun-2015 04:00:00    {'Wednesday'}      1          1            0    

それぞれの観察値の日の名前をもつベクトル x を作成します。table のそれぞれの観察値に従って値 "pm" または "am" を含む categorical ベクトル y を作成します。東向き交通量データのベクトルとして ze を定義し、西向き交通量データのベクトルとして zw を定義します。

daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"];
x = categorical(tbl.Day,daynames);
ispm = tbl.Timestamp.Hour<12;
y = categorical;
y(ispm) = 'pm';
y(~ispm) = 'am';
ze = tbl.Eastbound;
zw = tbl.Westbound;

タイル表示チャート レイアウトを 'flow' タイル配置に作成して、座標軸がそのレイアウトの使用可能なスペースを塗りつぶすようにします。関数 nexttile を呼び出して axes オブジェクトを作成し、それを ax1 として返します。次に、関数 swarmchartax1 を渡して、東向きデータの粒子群チャートを作成します。

tiledlayout('flow')
ax1=nexttile;
swarmchart3(ax1,x,y,ze,'.');

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

同じプロセスを繰り返して 2 番目の axes オブジェクトと、西向き交通量の粒子群チャートを作成します。

ax2 = nexttile;
z = tbl.Westbound;
swarmchart3(ax2,x,y,zw,'.');

Figure contains 2 axes objects. Axes object 1 contains an object of type scatter. Axes object 2 contains an object of type scatter.

入力引数

すべて折りたたむ

x 座標。y および z と同じサイズの数値スカラーまたはベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

y 座標。x および z と同じサイズの数値スカラーまたはベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

z 座標。x および y と同じサイズの数値スカラーまたはベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration

ポイント単位のマーカーのサイズ。次のいずれかの形式で指定します。

  • 数値スカラー — すべてのマーカーを同じサイズでプロットします。

  • 行ベクトルまたは列ベクトル — マーカーごとにサイズを変えます。sz の長さは、xy および z の長さと同じでなければなりません。

  • [] — 既定の 36 ポイントのサイズを使用します。

マーカーの色。次のいずれかの形式で指定します。

  • RGB 3 成分または色名 — すべてのマーカーを同じ色でプロットします。RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。または、次の表から色名を指定できます。

  • RGB 3 成分から成る 3 列の行列 — マーカーごとに異なる色を使用します。行列の各行で対応するマーカーの色の RGB 3 成分を指定します。行数は xy および z の長さと等しくなければなりません。

  • ベクトル — それぞれのマーカーに異なる色を使用します。c の値が現在のカラーマップにインデックス付けされ、カラーマップの範囲全体をカバーします。c の長さは、xy および z の長さと同じでなければなりません。カラーマップを変更するには、関数 colormap を使用します。

色名説明等価の RGB 3 成分
'red' または 'r'[1 0 0]
'green' または 'g'[0 1 0]
'blue' または 'b'[0 0 1]
'yellow' または 'y'[1 1 0]
'magenta' または 'm'マゼンタ[1 0 1]
'cyan' または 'c'シアン[0 1 1]
'white' または 'w'[1 1 1]
'black' または 'k'[0 0 0]

マーカー タイプ。次の表に挙げる値のいずれかとして指定します。

マーカー説明結果のマーカー
"o"

Sample of circle marker

"+"プラス記号

Sample of plus sign marker

"*"アスタリスク

Sample of asterisk marker

"."

Sample of point marker

"x"十字

Sample of cross marker

"_"水平線

Sample of horizontal line marker

"|"垂直線

Sample of vertical line marker

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond marker

"^"上向き三角形

Sample of upward-pointing triangle marker

"v"下向き三角形

Sample of downward-pointing triangle marker

">"右向き三角形

Sample of right-pointing triangle marker

"<"左向き三角形

Sample of left-pointing triangle marker

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

Sample of hexagram marker

マーカーの内部を塗りつぶすオプション。'filled' として指定します。このオプションは、たとえば 'o''square' などの面があるマーカーに使用します。エッジのみを含む面のないマーカー ('+''*''.' および 'x') はまったくレンダリングされません。

'filled' オプションは Scatter オブジェクトの MarkerFaceColor プロパティを 'flat' に、MarkerEdgeColor プロパティを 'none' に設定します。この場合、MATLAB® はマーカーのエッジを描画せず、面を描画します。

プロットするデータが含まれるソース table。table または timetable として指定します。

x 座標を含む table 変数。1 つ以上の table 変数インデックスとして指定します。

table インデックスの指定

以下のいずれかのインデックス方式を使用して、目的の変数を 1 つ以上指定します。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列。

  • pattern オブジェクト。

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • 数値のベクトル。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定した型の変数を選択する vartype 添字。

  • vartype("categorical") — categorical 値を含んでいるすべての変数

データのプロット

指定する table 変数には、数値、categorical 値、datetime 値、または duration 値を含めることができます。

1 つのデータ セットをプロットするには、xvaryvar、および zvar にそれぞれ 1 つの変数を指定します。たとえば、正規分布の乱数値から成る 4 つの変数をもつ table を作成します。変数 XY1、および Z をプロットします。

tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ...
   'VariableNames',{'X','Y1','Y2','Z'});

swarmchart3(tbl,'X','Y1','Z')

複数のデータ セットをまとめてプロットするには、xvaryvar、または zvar の少なくとも 1 つに複数の変数を指定します。複数の引数に複数の変数を指定する場合、変数の数はそれらの各引数で同じでなければなりません。

たとえば、変数 X を x 軸に、変数 Y1 および Y2 を y 軸に、変数 Z を z 軸にプロットします。

swarmchart3(tbl,'X',{'Y1','Y2'},'Z')

xvaryvar、および zvar に対して異なるインデックス方式も使用できます。たとえば、xvar を変数名、yvar をインデックス番号、zvar を logical ベクトルとして指定します。

swarmchart3(tbl,'X',2,[false false true])

y 座標を含む table 変数。1 つ以上の table 変数インデックスとして指定します。

table インデックスの指定

以下のいずれかのインデックス方式を使用して、目的の変数を 1 つ以上指定します。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列。

  • pattern オブジェクト。

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • 数値のベクトル。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定した型の変数を選択する vartype 添字。

  • vartype("categorical") — categorical 値を含んでいるすべての変数

データのプロット

指定する table 変数には、数値、categorical 値、datetime 値、または duration 値を含めることができます。

1 つのデータ セットをプロットするには、xvaryvar、および zvar にそれぞれ 1 つの変数を指定します。たとえば、正規分布の乱数値から成る 4 つの変数をもつ table を作成します。変数 XY1、および Z をプロットします。

tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ...
   'VariableNames',{'X','Y1','Y2','Z'});

swarmchart3(tbl,'X','Y1','Z')

複数のデータ セットをまとめてプロットするには、xvaryvar、または zvar の少なくとも 1 つに複数の変数を指定します。複数の引数に複数の変数を指定する場合、変数の数はそれらの各引数で同じでなければなりません。

たとえば、変数 X を x 軸に、変数 Y1 および Y2 を y 軸に、変数 Z を z 軸にプロットします。

swarmchart3(tbl,'X',{'Y1','Y2'},'Z')

xvaryvar、および zvar に対して異なるインデックス方式も使用できます。たとえば、xvar を変数名、yvar をインデックス番号、zvar を logical ベクトルとして指定します。

swarmchart3(tbl,'X',2,[false false true])

z 座標を含む table 変数。1 つ以上の table 変数インデックスとして指定します。

table インデックスの指定

以下のいずれかのインデックス方式を使用して、目的の変数を 1 つ以上指定します。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列。

  • pattern オブジェクト。

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • 数値のベクトル。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定した型の変数を選択する vartype 添字。

  • vartype("categorical") — categorical 値を含んでいるすべての変数

データのプロット

指定する table 変数には、数値、categorical 値、datetime 値、または duration 値を含めることができます。

1 つのデータ セットをプロットするには、xvaryvar、および zvar にそれぞれ 1 つの変数を指定します。たとえば、正規分布の乱数値から成る 4 つの変数をもつ table を作成します。変数 XY1、および Z をプロットします。

tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ...
   'VariableNames',{'X','Y1','Y2','Z'});

swarmchart3(tbl,'X','Y1','Z')

複数のデータ セットをまとめてプロットするには、xvaryvar、または zvar の少なくとも 1 つに複数の変数を指定します。複数の引数に複数の変数を指定する場合、変数の数はそれらの各引数で同じでなければなりません。

たとえば、変数 X を x 軸に、変数 Y1 および Y2 を y 軸に、変数 Z を z 軸にプロットします。

swarmchart3(tbl,'X',{'Y1','Y2'},'Z')

xvaryvar、および zvar に対して異なるインデックス方式も使用できます。たとえば、xvar を変数名、yvar をインデックス番号、zvar を logical ベクトルとして指定します。

swarmchart3(tbl,'X',2,[false false true])

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、MATLAB は現在の座標軸にプロットするか、存在しない場合は Axes オブジェクトを作成します。

名前と値の引数

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

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

例: swarmchart3(randi(2,500,1),randi(2,500,1),randn(500,1),'MarkerFaceColor','red') は赤で塗りつぶされたマーカーを指定します。

x 次元に沿ったジッターのタイプ (点の間隔)。次のいずれかの値として指定します。

  • 'none' — 点を微変動しない。

  • 'density' — 2 次元のチャートについて、y のカーネル密度推定を使用して点を微変動する。3 次元のチャートで 2 つの次元についてこのオプションを指定すると、点は 3 つ目の次元のカーネル密度推定に基づいて微変動します。たとえば、XJitterYJitter'density' に設定すると、z のカーネル密度推定が使用されます。

  • 'rand' — 一様分布で点をランダムに微変動する。

  • 'randn' — 正規分布で点をランダムに微変動する。

x 次元に沿ったジッター (点の間のオフセット) の最大量。データ単位での非負のスカラー値として指定します。

たとえば、隣接する点を結ぶ最短距離の 90% にジッター幅を設定するには、x の一意の値を結ぶ最短距離を取り、0.9 でスケーリングします。

XJitterWidth = 0.9 * min(diff(unique(x)));

y 次元に沿ったジッターのタイプ (点の間隔)。次のいずれかの値として指定します。

  • 'none' — 点を微変動しない。

  • 'density' — 2 次元のチャートについて、x のカーネル密度推定を使用して点を微変動する。3 次元のチャートで 2 つの次元についてこのオプションを指定すると、点は 3 つ目の次元のカーネル密度推定に基づいて微変動します。たとえば、XJitterYJitter'density' に設定すると、z のカーネル密度推定が使用されます。

  • 'rand' — 一様分布で点をランダムに微変動する。

  • 'randn' — 正規分布で点をランダムに微変動する。

y 次元に沿ったジッター (点の間のオフセット) の最大量。データ単位での非負のスカラー値として指定します。

たとえば、隣接する点を結ぶ最短距離の 90% にジッター幅を設定するには、y の一意の値を結ぶ最短距離を取り、0.9 でスケーリングします。

YJitterWidth = 0.9 * min(diff(unique(y)));

カラー データを含む table 変数。ソース table の変数インデックスとして指定します。

table インデックスの指定

以下のいずれかのインデックス方式を使用して、目的の変数を指定します。

インデックス方式

変数名:

  • string スカラーまたは文字ベクトル。

  • pattern オブジェクト。pattern オブジェクトは 1 つの変数のみを参照しなければなりません。

  • "A" または 'A'A という名前の変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定したタイプの table 変数を選択する vartype 添字。添字は 1 つの変数のみを参照しなければなりません。

  • vartype("double") — double 値を含んでいる変数

カラー データの指定

ColorVariable プロパティを指定して、マーカーの色を制御します。MarkerFaceColor プロパティが "flat" に設定されている場合は、変数のデータによってマーカーの塗りつぶし色を制御します。MarkerEdgeColor"flat" に設定されている場合は、このデータによってマーカーの輪郭の色も制御できます。

指定する table 変数には、任意の数値型の値を含めることができます。値は、次のいずれかの形式にできます。

  • 現在のカラーマップに線形にマッピングされる数値の列。

  • RGB 3 成分の 3 列配列。RGB 3 成分は、各値が特定の色の赤、緑、青成分の強度を指定する 3 要素ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば、[0.5 0.7 1] では薄い青の色調が指定されます。

ColorVariable プロパティを設定すると、MATLAB は CData プロパティを更新します。

アルゴリズム

粒子群チャートの点は、z のガウス カーネル密度推定と、それぞれの (xy) 位置での相対的な点の数によって重み付けされた一様分布する乱数値を使用して微変動します。この動作は、関数 swarmchart3 を呼び出すときの Scatter オブジェクトの XJitter プロパティと YJitter プロパティの既定の 'density' 設定に対応します。

それぞれの x の位置での点の最大の広がりは、既定では、隣接する点を結ぶ最小距離の 90% です。たとえば、x 次元で、広がりは次のように計算されます。

spread = 0.9 * min(diff(unique(x)));

Scatter オブジェクトの XJitterWidth プロパティおよび YJitterWidth プロパティを設定して、オフセットを制御できます。

バージョン履歴

R2020b で導入

すべて展開する