swarmchart
構文
説明
ベクトルと行列のデータ
テーブル データ
追加オプション
swarmchart(___,
は、1 つ以上の名前と値の引数を使用して、粒子群チャートの追加のプロパティを指定します。プロパティは他のすべての入力引数の後に指定します。以下に例を示します。Name,Value
)
swarmchart(x,y,'LineWidth',2)
は、マーカーの輪郭が 2 ポイントの粒子群チャートを作成します。swarmchart(tbl,'MyX','MyY','ColorVariable','MyColors')
は、table のデータから粒子群チャートを作成し、その table のデータを使用してマーカーの色をカスタマイズします。swarmchart(x,y,'YJitter','density')
は水平粒子群チャートを作成します。 (R2023b 以降)
プロパティの一覧については、Scatter のプロパティ を参照してください。
s = swarmchart(___)
は Scatter
オブジェクトまたは Scatter
オブジェクトの配列を返します。チャートのプロパティを作成後に変更するには、s
を使用します。プロパティの一覧については、Scatter のプロパティ を参照してください。
例
粒子群チャートの作成
x
座標軸のベクトルを作成し、関数 randn
を使用して、y
の正規分布の乱数値を生成します。次に、x
および y
の粒子群チャートを作成します。
x = [ones(1,500) 2*ones(1,500) 3*ones(1,500)]; y1 = 2 * randn(1,500); y2 = 3 * randn(1,500) + 5; y3 = 5 * randn(1,500) + 5; y = [y1 y2 y3]; swarmchart(x,y)
複数のデータ セットをカスタムのマーカー サイズでプロット
3 つのセットの x
座標と y
座標を作成します。関数 randn
を使用して y
の乱数値を生成します。
x1 = ones(1,500); x2 = 2 * ones(1,500); x3 = 3 * ones(1,500); y1 = 2 * randn(1,500); y2 = [randn(1,250) randn(1,250) + 4]; y3 = 5 * randn(1,500) + 5;
最初のデータ セットの粒子群チャートを作成し、5
の一様なマーカー サイズを指定します。次に hold on
を呼び出して、2 番目と 3 番目のデータ セットを最初のデータ セットと共にプロットします。hold off
を呼び出して座標軸のホールド状態を解放します。
swarmchart(x1,y1,5) hold on swarmchart(x2,y2,5) swarmchart(x3,y3,5) hold off
マーカー タイプの指定
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
と、観察された自転車交通量をもつ別のベクトル y を作成します。次に、x
および y
の粒子群チャートを作成し、点マーカー ('.')
を指定します。チャートは曜日による自転車交通量の分布を示しています。
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; swarmchart(x,y,'.');
塗りつぶしマーカーのさまざまな色での表示
tbl
という名前の timetable に BicycleCounts.csv
データ セットを読み込みます。それぞれの観察値からの日の名前をもつベクトル x
と、観察された自転車交通量をもつ別のベクトル y
、1 日のうちの時間をもつ 3 番目のベクトル c
を作成します。
次に、x
および y
の粒子群チャートを作成し、マーカー サイズを 20
に設定します。マーカーの色をベクトル c
として指定します。ベクトルの値が Figure のカラーマップにインデックス付けされます。これにより、それぞれのデータ点について、色が時間に従って変化します。'filled'
オプションを使用して、マーカーを中空の円として表示するのではなく色で塗りつぶします。
tbl = readtable("BicycleCounts.csv"); daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; c = hour(tbl.Timestamp); swarmchart(x,y,20,c,'filled');
ジッターのタイプとジッター幅を変更
tbl
という名前の timetable に BicycleCounts.csv
データ セットを読み込みます。それぞれの観察値からの日の名前をもつベクトル x
と、観察された自転車交通量をもつ別のベクトル y
、1 日のうちの時間をもつ 3 番目のベクトル c
を作成します。次に、x
と y
の粒子群チャートを作成し、マーカーのサイズを 5
、マーカーの色をベクトル c
として指定します。戻り引数 s
を使用して関数 swarmchart
を呼び出します。これにより、チャートを作成後に変更できます。
tbl = readtable("BicycleCounts.csv"); daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; c = hour(tbl.Timestamp); s = swarmchart(x,y,5,c);
クラスターの形状を x
のそれぞれの位置で変更します。これにより、点が一様かつランダムに分布するようになり、間隔が 0.5
データ単位を超えないように制限されます。
s.XJitter = 'rand';
s.XJitterWidth = 0.5;
水平粒子群チャートの作成
R2023b 以降
関数 swarmchart
を呼び出すときに YJitter
プロパティを設定することで、水平粒子群チャートを作成できます。
たとえば、500 個の数字から成る 3 つの正規分布および町名の categorical ベクトルを作成します。次に、関数 swarmchart
を呼び出して名前と値の引数 YJitter
を指定することで、データの水平粒子群チャートを作成します。
x = randn(500,3) + [1 4 6]; towns = categorical(["Stowe" "Wayland" "Natick"]); y = repmat(towns,500,1); swarmchart(x,y,YJitter="density")
透過性をもつ塗りつぶしマーカーを指定
x
座標と y
座標のペアを作成します。関数 randn
を使用して y
の乱数値を生成します。次に、面とエッジが共に 50% の透過性をもつ塗りつぶしマーカーを使用して粒子群チャートを作成します。
x1 = ones(1,500); x2 = 2 * ones(1,500); x = [x1 x2]; y1 = 2 * randn(1,500); y2 = [randn(1,250) randn(1,250) + 4]; y = [y1 y2]; swarmchart(x,y,'filled','MarkerFaceAlpha',0.5,'MarkerEdgeAlpha',0.5)
table のデータのプロット
table のデータをプロットするには、table を関数 swarmchart
に渡してプロット対象の変数を指定すると便利です。たとえば、3 つの乱数の変数をもつ table を作成し、変数 X
および Y1
をプロットします。既定では、軸ラベルは変数名と一致します。
tbl = table(randi(2,100,1),randn(100,1),randn(100,1)+10, ... 'VariableNames',{'X','Y1','Y2'}); swarmchart(tbl,'X','Y1')
また、複数の変数を同時にプロットできます。たとえば、yvar
引数を cell 配列 {'Y1','Y2'}
として指定することにより、変数 Y1
および Y2
を "y" 軸にプロットします。次に、凡例を追加します。凡例ラベルは変数名と一致します。
swarmchart(tbl,'X',{'Y1','Y2'}) legend
カスタムのマーカー サイズおよび色を使用した table データのプロット
table のデータをプロットして色とマーカー サイズをカスタマイズする方法の 1 つとして、ColorVariable
プロパティと SizeData
プロパティを設定する方法があります。これらのプロパティは、関数 swarmchart
を呼び出すときに名前と値の引数として設定するか、後で Scatter
オブジェクトに対して設定できます。
たとえば、3 つの乱数の変数をもつ table を作成し、変数 X
および Y
を塗りつぶされたマーカーでプロットします。名前と値の引数 ColorVariable
を指定してマーカーの色を変更します。Scatter
オブジェクトを s
として返すため、後で他のプロパティを設定できます。
tbl = table(randi(2,100,1),randn(100,1),randn(100,1), ... 'VariableNames',{'X','Y','Colors'}); s = swarmchart(tbl,'X','Y','filled','ColorVariable','Colors');
SizeData
プロパティを設定してマーカー サイズを 100 ポイントに変更します。
s.SizeData = 100;
ターゲットとなる座標軸の指定
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 の日の名前の categorical 配列として定義します。yEast
および yWest
を、東向きおよび西向きの自転車交通量カウントを含むベクトルとして定義します。
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); yEast = tbl.Eastbound; yWest = tbl.Westbound;
タイル表示チャート レイアウトを 'flow'
タイル配置に作成して、座標軸がそのレイアウトの使用可能なスペースを塗りつぶすようにします。関数 nexttile
を呼び出して axes オブジェクトを作成し、それを ax1
として返します。次に、関数 swarmchart
に ax1
を渡して、東向きデータの粒子群チャートを作成します。
tiledlayout('flow') ax1 = nexttile; y = tbl.Eastbound; swarmchart(ax1,x,y,'.')
同じプロセスを繰り返して 2 番目の axes オブジェクトと、西向き交通量の粒子群チャートを作成します。
ax2 = nexttile;
y = tbl.Westbound;
swarmchart(ax2,x,y,'.')
入力引数
x
— x 座標
スカラー | ベクトル | 行列
x 座標。スカラー、ベクトルまたは行列として指定します。x
のサイズと形状はデータの形状に依存します。次の表では、最も一般的な状況について説明します。
プロットのタイプ | 座標の指定方法 |
---|---|
1 つの点 |
swarmchart(1,1) |
1 つの点集合 |
x = randi(3,100,1); y = randn(1,100); swarmchart(x,y) |
色が異なる複数の点集合 | すべてのセットが同じ x 座標または y 座標を共有している場合は、共有している座標をベクトルとして、その他の座標を行列として指定します。ベクトルの長さは行列の次元の 1 つと一致していなければなりません。以下に例を示します。 x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) swarmchart は行列の列ごとに別個の点のセットをプロットします。または、 x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) |
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
y
— y 座標
スカラー | ベクトル | 行列
y 座標。スカラー、ベクトルまたは行列として指定します。y
のサイズと形状はデータの形状に依存します。次の表では、最も一般的な状況について説明します。
プロットのタイプ | 座標の指定方法 |
---|---|
1 つの点 |
swarmchart(1,1) |
1 つの点集合 |
x = randi(3,100,1); y = randn(1,100); swarmchart(x,y) |
色が異なる複数の点集合 | すべてのセットが同じ x 座標または y 座標を共有している場合は、共有している座標をベクトルとして、その他の座標を行列として指定します。ベクトルの長さは行列の次元の 1 つと一致していなければなりません。以下に例を示します。 x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) swarmchart は行列の列ごとに別個の点のセットをプロットします。または、 x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) |
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
sz
— マーカー サイズ
36 (既定値) | 数値スカラー | 行ベクトルまたは列ベクトル | 行列 | []
マーカー サイズ。数値スカラー、ベクトル、行列、または空の配列 ([]
) として指定します。サイズは各マーカーの平方ポイント単位の面積を制御します。空の行列は、既定の 36 ポイントのサイズを指定します。サイズを指定する方法は、x
と y
の指定方法や目的のプロットの外観によって異なります。次の表では、最も一般的な状況について説明します。
目的のマーカー サイズ | x と y | sz | 例 |
---|---|---|---|
すべての点に同じサイズ | スカラー |
x = randi(2,1,100); y = randn(100,1); swarmchart(x,y,100) | |
点ごとに異なるサイズ | 同じ長さのベクトル |
|
x = randi(2,1,100); y = randn(100,1); sz = randi([70 2000],100,1); swarmchart(x,y,sz)
x = randi(2,1,100); y = randn(100,1); sz = randi([70 2000],100,2); swarmchart(x,y,sz) |
点ごとに異なるサイズ | 複数のデータ セットをプロットする場合は |
|
x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; sz = randi([70 2000],100,1); swarmchart(x,y,sz)
x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; sz = randi([70 2000],100,2); swarmchart(x,y,sz) |
c
— マーカーの色
色名 | RGB 3 成分 | RGB 3 成分の行列 | カラーマップ インデックスのベクトル
マーカーの色。色名、RGB 3 成分、RGB 3 成分の行列、またはカラーマップ インデックスのベクトルとして指定します。
色名 —
'red'
のような色名、または'r'
のような省略名。RGB 3 成分 — 色の赤、緑、青成分の強度を指定する 3 要素の行ベクトル。強度値は
[0,1]
の範囲でなければなりません。たとえば[0.4 0.6 0.7]
のようになります。RGB 3 成分は、カスタム色を作成するのに役立ちます。RGB 3 成分の行列 — 各行が RGB 3 成分である 3 列の行列。
カラーマップ インデックスのベクトル —
x
およびy
のベクトルと同じ長さの数値のベクトル。
色を指定する方法は、目的の配色や 1 つの座標セットをプロットするか複数の座標セットをプロットするかによって異なります。次の表では、最も一般的な状況について説明します。
配色 | 色の指定方法 | 例 |
---|---|---|
すべての点に 1 つの色を使用する。 | 次の表のいずれかの色名または省略名を指定するか、1 つの RGB 3 成分を指定します。 | 1 つの点集合をプロットし、色を x = randi(2,1,100);
y = randn(100,1);
c = 'red';
swarmchart(x,y,[],c) 2 つの点集合をプロットし、RGB 3 成分を使用して色を赤に指定します。 x = randi(2,1,100); y = randn(100,1); c = [0.6 0 0.9]; swarmchart(x,y,[],c) |
カラーマップを使用して各点に異なる色を割り当てる。 | 数値の行ベクトルまたは列ベクトルを指定します。数値は現在のカラーマップ配列にインデックスを付けます。最小値はカラーマップの最初の行にマッピングされ、最大値は最後の行にマッピングされます。中間の値は中間の行に線形にマッピングされます。 プロットに点が 3 つある場合、値が必ずカラーマップ インデックスとして解釈されるように列ベクトルを指定します。 この方法は、 | 100 個のカラーマップ インデックスを指定するベクトル x = randi(2,1,100);
y = randn(100,1);
c = 1:100;
swarmchart(x,y,[],c)
colormap(gca,'winter') |
点ごとにカスタム色を作成する。 | m 行 3 列の RGB 3 成分の行列を指定します (m はプロットの点の数)。 この方法は、 | 100 個のランダムな RGB 3 成分を指定する行列 x = randi(2,1,100); y = randn(100,1); c = rand(100,3); swarmchart(x,y,[],c) |
データ セットごとに異なる色を作成する。 | n 行 3 列の RGB 3 成分の行列を指定します (n はデータ セットの数)。 この方法は、 | 2 つの RGB 3 成分を含む行列 x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; c = [1 0 0; 0 0 1]; swarmchart(x,y,[],c) |
一般的な色の色名と RGB 3 成分
色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
mkr
— マーカー タイプ
'o'
(既定値) | '+'
| '*'
| '.'
| 'x'
| ...
マーカー タイプ。次の表に挙げる値のいずれかとして指定します。
マーカー | 説明 | 結果のマーカー |
---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 水平線 |
|
"|" | 垂直線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
'filled'
— マーカーの内部を塗りつぶすオプション
'filled'
マーカーの内部を塗りつぶすオプション。'filled'
として指定します。このオプションは、たとえば 'o'
や 'square'
などの面があるマーカーに使用します。エッジのみを含む面のないマーカー ('+'
、'*'
、'.'
および 'x'
) はまったくレンダリングされません。
'filled'
オプションは Scatter
オブジェクトの MarkerFaceColor
プロパティを 'flat'
に、MarkerEdgeColor
プロパティを 'none'
に設定します。この場合、MATLAB はマーカーのエッジを描画せず、面を描画します。
tbl
— ソース table
table | timetable
プロットするデータが含まれるソース table。table または timetable として指定します。
xvar
— x 座標を含む table 変数
1 つ以上の table 変数インデックス
x 座標を含む table 変数。1 つ以上の table 変数インデックスとして指定します。
table インデックスの指定
以下のいずれかのインデックス方式を使用して、目的の変数を 1 つ以上指定します。
インデックス方式 | 例 |
---|---|
変数名:
|
|
変数インデックス:
|
|
変数の型:
|
|
データのプロット
指定する table 変数には、数値または categorical 値を含めることができます。
1 つのデータ セットをプロットするには、xvar
と yvar
にそれぞれ 1 つの変数を指定します。たとえば、正規分布の乱数値から成る 3 つの変数をもつ table を作成します。変数 X1
および Y
をプロットします。
tbl = table(randn(100,1),randn(100,1)+10,randn(100,1), ... 'VariableNames',{'X1','X2','Y'}); swarmchart(tbl,'X1','Y')
複数のデータ セットをまとめてプロットするには、xvar
、yvar
、またはその両方に複数の変数を指定します。両方の引数に複数の変数を指定する場合、各引数に対する変数の数は同じでなければなりません。
たとえば、変数 X1
および X2
を x 軸にプロットし、変数 Y
を y 軸にプロットします。
swarmchart(tbl,{'X1','X2'},'Y')
xvar
および yvar
に対して異なるインデックス方式も使用できます。たとえば、xvar
を変数名として、yvar
をインデックス番号として指定します。
swarmchart(tbl,'X1',3)
yvar
— y 座標を含む table 変数
1 つ以上の table 変数インデックス
y 座標を含む table 変数。1 つ以上の table 変数インデックスとして指定します。
table インデックスの指定
以下のいずれかのインデックス方式を使用して、目的の変数を 1 つ以上指定します。
インデックス方式 | 例 |
---|---|
変数名:
|
|
変数インデックス:
|
|
変数の型:
|
|
データのプロット
指定する table 変数には、数値、categorical 値、datetime 値、または duration 値を含めることができます。
1 つのデータ セットをプロットするには、xvar
と yvar
にそれぞれ 1 つの変数を指定します。たとえば、正規分布の乱数値から成る 3 つの変数をもつ table を作成します。変数 X1
および Y
をプロットします。
tbl = table(randn(100,1),randn(100,1)+10,randn(100,1), ... 'VariableNames',{'X1','X2','Y'}); swarmchart(tbl,'X1','Y')
複数のデータ セットをまとめてプロットするには、xvar
、yvar
、またはその両方に複数の変数を指定します。両方の引数に複数の変数を指定する場合、各引数に対する変数の数は同じでなければなりません。
たとえば、変数 X1
および X2
を x 軸にプロットし、変数 Y
を y 軸にプロットします。
swarmchart(tbl,{'X1','X2'},'Y')
xvar
および yvar
に対して異なるインデックス方式も使用できます。たとえば、xvar
を変数名として、yvar
をインデックス番号として指定します。
swarmchart(tbl,'X1',3)
ax
— ターゲット座標軸
Axes
オブジェクト | PolarAxes
オブジェクト | GeographicAxes
オブジェクト
ターゲット座標軸。Axes
オブジェクト、PolarAxes
オブジェクト、または GeographicAxes
オブジェクトとして指定します。座標軸を指定しない場合、MATLAB は現在の座標軸にプロットするか、存在しない場合は Axes
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: swarmchart(randi(4,500,1),randn(500,1),'MarkerFaceColor','red')
は赤で塗りつぶされたマーカーを指定します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Scatter のプロパティ を参照してください。
XJitter
— x 次元のジッター タイプ
'none'
| 'density'
| 'rand'
| 'randn'
x 次元に沿ったジッターのタイプ (点の間隔)。次のいずれかの値として指定します。
'none'
— 点を微変動しない。'density'
— 2 次元のチャートについて、y のカーネル密度推定を使用して点を微変動する。3 次元のチャートで 2 つの次元についてこのオプションを指定すると、点は 3 つ目の次元のカーネル密度推定に基づいて微変動します。たとえば、XJitter
とYJitter
を'density'
に設定すると、z のカーネル密度推定が使用されます。'rand'
— 一様分布で点をランダムに微変動する。'randn'
— 正規分布で点をランダムに微変動する。
XJitterWidth
— x 次元に沿った最大ジッター
非負のスカラー
x 次元に沿ったジッター (点の間のオフセット) の最大量。データ単位での非負のスカラー値として指定します。
たとえば、隣接する点を結ぶ最短距離の 90% にジッター幅を設定するには、x
の一意の値を結ぶ最短距離を取り、0.9
でスケーリングします。
XJitterWidth = 0.9 * min(diff(unique(x)));
ColorVariable
— カラー データを含む table 変数
table 変数インデックス
カラー データを含む table 変数。ソース table の変数インデックスとして指定します。
table インデックスの指定
以下のいずれかのインデックス方式を使用して、目的の変数を指定します。
インデックス方式 | 例 |
---|---|
変数名:
|
|
変数インデックス:
|
|
変数の型:
|
|
カラー データの指定
ColorVariable
プロパティを指定して、マーカーの色を制御します。MarkerFaceColor
プロパティが "flat"
に設定されている場合は、変数のデータによってマーカーの塗りつぶし色を制御します。MarkerEdgeColor
が "flat"
に設定されている場合は、このデータによってマーカーの輪郭の色も制御できます。
指定する table 変数には、任意の数値型の値を含めることができます。値は、次のいずれかの形式にできます。
現在のカラーマップに線形にマッピングされる数値の列。
RGB 3 成分の 3 列配列。RGB 3 成分は、各値が特定の色の赤、緑、青成分の強度を指定する 3 要素ベクトルです。強度値は
[0,1]
の範囲でなければなりません。たとえば、[0.5 0.7 1]
では薄い青の色調が指定されます。
ColorVariable
プロパティを設定すると、MATLAB は CData
プロパティを更新します。
アルゴリズム
粒子群チャートの点は、y
のガウス カーネル密度推定と、それぞれの x
の位置での相対的な点の数によって重み付けされた一様分布する乱数値を使用して微変動します。この動作は、関数 swarmchart
を呼び出すときの Scatter
オブジェクトの XJitter
プロパティの既定の 'density'
設定に対応します。
それぞれの x
の位置での点の最大の広がりは、既定では、近傍の x
値間での最小距離の 90% です。
spread = 0.9 * min(diff(unique(x)));
この広がりは Scatter
オブジェクトの XJitterWidth
プロパティを設定することで制御できます。
水平粒子群チャートは同じアルゴリズムを使用して微変動しますが、点は x
のガウス カーネル密度推定を使用して y
次元に沿って微変動します。この場合、YJitterWidth
プロパティを使用して広がりを制御します。
バージョン履歴
R2020b で導入R2023b: 水平粒子群チャートの作成
関数 swarmchart
を呼び出すときに YJitter
プロパティを設定することで、水平粒子群チャートを作成します。XJitter
プロパティを設定せずに YJitter
プロパティを設定すると、MATLAB は XJitter
プロパティを "none"
に設定し、結果として得られるチャートの分布は水平方向になります。
R2022b: table で作成したプロットが軸ラベルと凡例ラベルに特殊文字を保持
関数 swarmchart
に 1 つの table と 1 つ以上の変数名を渡した場合に、table 変数名に含めた特殊文字 (アンダースコアなど) が軸ラベルと凡例ラベルに表示されるようになりました。以前は、特殊文字は TeX または LaTeX の文字として解釈されていました。
たとえば、Sample_Number
という名前の変数を含む table を関数 swarmchart
に渡すと、軸ラベルと凡例ラベルにアンダースコアが表示されます。R2022a 以前のリリースでは、アンダースコアは下付き文字として解釈されます。
リリース | table 変数 "Sample_Number" のラベル |
---|---|
R2022b |
|
R2022a |
|
軸ラベルと凡例ラベルを TeX または LaTeX の書式設定で表示するには、ラベルを手動で指定します。たとえば、プロット後に、目的のラベル文字列を指定して関数 xlabel
または関数 legend
を呼び出します。
xlabel("Sample_Number") legend(["Sample_Number" "Another_Legend_Label"])
R2021b: table を直接 swarmchart
に渡す
table を関数 swarmchart
に渡し、その後にプロット対象の変数を渡すことで、プロットを作成します。データを table として指定すると、軸ラベルと凡例 (存在する場合) に table 変数名を使用して自動的にラベルが付けられます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)