swarmchart
群散点图
语法
描述
向量和矩阵数据
表数据
附加选项
例子
创建群图
创建一个矢量x
坐标,并使用randn
函数生成正态分布随机值y
.然后创建一个蜂群图x
而且y
.
X = [ones(1,500) 2*ones(1,500) 3*ones(1,500)];Y1 = 2 * randn(1500);Y2 = 3 * randn(1500) + 5;Y3 = 5 * randn(1500) + 5;Y = [y1 y2 y3];swarmchart (x, y)
用自定义标记大小绘制多个数据集
创建三组x
而且y
坐标。使用randn
的随机值y
.
x1 = 1 (1500);X2 = 2 * 1 (1500);X3 = 3 * 1 (1500);Y1 = 2 * randn(1500);Y2 = [randn(1,250) randn(1,250) + 4];Y3 = 5 * randn(1500) + 5;
创建第一个数据集的群图,并指定一个统一的标记大小5
.然后调用抓住
将第二和第三个数据集与第一个数据集绘制在一起。调用推迟
释放轴的保持状态。
swarmchart (x1, y1, 5)在swarmchart (x2, y2), 5) swarmchart (x3, y3, 5)从
指定标记类型
读了BicycleCounts.csv
数据集合成一个叫做时间表资源描述
.该数据集包含一段时间内的自行车交通数据。的前五行显示资源描述
.
台= readtable (fullfile (matlabroot“例子”,matlab的,“数据”,“BicycleCounts.csv”));台(1:5,:)
ans =5×5表时间戳天总西行的往东的 ___________________ _____________ _____ _________ _________ 2015-06-24就是{“星期三”}13 9 4 2015-06-24 01:00:00{“星期三”}3 3 0 2015-06-24 02:00:00{“星期三”}1 1 0 2015-06-24 03:00:00{“星期三”}1 1 0 2015-06-24 04:00:00{“星期三”}1 1 0
创建一个向量x
用每个观察的日期名称,用另一个向量y表示观察到的自行车交通。然后创建一个蜂群图x
而且y
,并指定点标记(“。”)
.这张图表显示了自行车交通按照星期几的分布情况。
daynames = [“星期天”“周一”“星期二”“星期三”“星期四”“星期五”“星期六”];x =分类(tbl.Day daynames);y = tbl.Total;swarmchart (x, y,“。”);
显示填充标记与不同的颜色
读了BicycleCounts.csv
数据集合成一个叫做时间表资源描述
.创建一个向量x
每个观察的日期名称,另一个向量y
随着自行车交通的观察,第三矢量c
与白天的时间。
然后创建一个蜂群图x
而且y
,并将标记大小指定为20.
.将标记的颜色指定为矢量c
.矢量中的值索引到图形的色度图中。因此,颜色根据每个数据点的小时而变化。使用“填充”
选项用颜色填充标记,而不是将它们显示为中空的圆圈。
台= readtable (fullfile (matlabroot“例子”,matlab的,“数据”,“BicycleCounts.csv”));daynames = [“星期天”“周一”“星期二”“星期三”“星期四”“星期五”“星期六”];x =分类(tbl.Day daynames);y = tbl.Total;c =小时(tbl.Timestamp);c swarmchart (x, y, 20日,“填充”);
更改抖动类型和抖动宽度
读了BicycleCounts.csv
数据集合成一个叫做时间表资源描述
.创建一个向量x
每个观察的日期名称,另一个向量y
随着自行车交通的观察,第三矢量c
与白天的时间。然后创建一个蜂群图x
而且y
,并将标记大小指定为5
,以标记的颜色为向量c
.调用swarmchart
函数的返回参数年代
,以便您可以在创建图表后对其进行修改。
台= readtable (fullfile (matlabroot“例子”,matlab的,“数据”,“BicycleCounts.csv”));daynames = [“星期天”“周一”“星期二”“星期三”“星期四”“星期五”“星期六”];x =分类(tbl.Day daynames);y = tbl.Total;c =小时(tbl.Timestamp);s = swarmchart (x, y, 5 c);
在每个节点上更改集群的形状x
位置,使各点均匀随机分布,间距限制在不超过0.5
数据单位。
s.XJitter =“兰德”;s.XJitterWidth = 0.5;
指定带有透明度的填充标记
创建一对x
而且y
坐标。使用randn
的随机值y
.然后用填充标记创建一个蜂群图,在它们的表面和边缘都是50%透明的。
x1 = 1 (1500);X2 = 2 * 1 (1500);X = [x1 x2];Y1 = 2 * randn(1500);Y2 = [randn(1,250) randn(1,250) + 4];Y = [y1 y2];swarmchart (x, y,“填充”,“MarkerFaceAlpha”, 0.5,“MarkerEdgeAlpha”, 0.5)
从表格中绘制数据
从表绘制数据的一种方便方法是将表传递给swarmchart
函数并指定要绘制的变量。例如,创建一个包含三个随机数变量的表,并绘制X
而且日元
变量。默认情况下,轴标签与变量名匹配。
台=表(randi (2100 1), randn (100 1), randn (100 1) + 10,...“VariableNames”,{“X”,“日元”,“日元”});swarmchart(资源描述,“X”,“日元”)
您还可以同时绘制多个变量。例如,绘制日元
而且Y2
变量的y通过指定yvar
参数作为单元格数组{Y1, Y2的}
.然后添加一个图例。图例标签与变量名匹配。
swarmchart(资源描述,“X”,{“日元”,“日元”})传说
绘图表数据与自定义标记大小和颜色
从表中绘制数据并自定义颜色和标记大小的一种方法是设置ColorVariable
而且SizeData
属性。类时,可以将这些属性设置为名称-值参数swarmchart
函数,也可以将它们设置在散射
对象之后。
例如,创建一个包含三个随机数变量的表,并绘制X
而且Y
带有填充标记的变量。参数来改变标记的颜色ColorVariable
名称-值参数。返回散射
对象作为年代
,以便稍后设置其他属性。
台=表(randi (2100 1), randn (100 1), randn (100 1),...“VariableNames”,{“X”,“Y”,“颜色”});s = swarmchart(资源描述,“X”,“Y”,“填充”,“ColorVariable”,“颜色”);
将标记大小更改为100点SizeData
财产。
s.SizeData = 100;
指定目标轴
读了BicycleCounts.csv
数据集合成一个叫做时间表资源描述
.该数据集包含一段时间内的自行车交通数据。的前五行显示资源描述
.
台= readtable (fullfile (matlabroot“例子”,matlab的,“数据”,“BicycleCounts.csv”));台(1:5,:)
ans =5×5表时间戳天总西行的往东的 ___________________ _____________ _____ _________ _________ 2015-06-24就是{“星期三”}13 9 4 2015-06-24 01:00:00{“星期三”}3 3 0 2015-06-24 02:00:00{“星期三”}1 1 0 2015-06-24 03:00:00{“星期三”}1 1 0 2015-06-24 04:00:00{“星期三”}1 1 0
定义x
作为表中日期名称的分类数组。定义酵母
而且yw
作为向量包含东行和西行的自行车交通计数。
daynames = [“星期天”“周一”“星期二”“星期三”“星期四”“星期五”“星期六”];x =分类(tbl.Day daynames);酵母= tbl.Eastbound;yw = tbl.Westbound;
中创建平铺图表布局“流”
平铺排列,以便坐标轴填充布局中的可用空间。调用nexttile
函数来创建一个axis对象并将其返回为ax₁
.然后通过传递创建一个东行数据的群图ax₁
到swarmchart
函数。
tiledlayout (“流”) ax1 = nexttile;y = tbl.Eastbound;swarmchart (ax₁,x, y,“。”);
重复该过程,为西行的交通创建第二个轴对象和一个群图。
ax2 = nexttile;y = tbl.Westbound;s = swarmchart (ax2, x, y,“。”);
输入参数
x
- - - - - -x坐标
标量|向量|矩阵
x-coordinates,指定为标量、向量或矩阵。的大小和形状x
这取决于数据的形状。下表描述了最常见的情况。
类型的情节 | 如何指定坐标 |
---|---|
单点 | 指定 swarmchart (1, 1) |
一组点 | 指定 x =兰迪(3100 1);y = randn (1100);swarmchart (x, y) |
多组不同颜色的点 | 如果所有集合都是相同的x——或者y-coordinates,指定共享坐标为向量,其他坐标为矩阵。向量的长度必须匹配矩阵的一个维数。例如: x =兰迪(1100);Y = [randn(100,1) randn(100,1)+5];swarmchart (x, y, 100) swarmchart 为矩阵中的每一列绘制一组单独的点。另外,指定 x =兰迪(2100 2);Y = [randn(100,1) randn(100,1)+5];swarmchart (x, y, 100) |
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|分类
y
- - - - - -y坐标
标量|向量|矩阵
y-coordinates,指定为标量、向量或矩阵。的大小和形状y
这取决于数据的形状。下表描述了最常见的情况。
类型的情节 | 如何指定坐标 |
---|---|
单点 | 指定 swarmchart (1, 1) |
一组点 | 指定 x =兰迪(3100 1);y = randn (1100);swarmchart (x, y) |
多组不同颜色的点 | 如果所有集合都是相同的x——或者y-coordinates,指定共享坐标为向量,其他坐标为矩阵。向量的长度必须匹配矩阵的一个维数。例如: x =兰迪(1100);Y = [randn(100,1) randn(100,1)+5];swarmchart (x, y, 100) swarmchart 为矩阵中的每一列绘制一组单独的点。另外,指定 x =兰迪(2100 2);Y = [randn(100,1) randn(100,1)+5];swarmchart (x, y, 100) |
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|分类
|datetime
|持续时间
深圳
- - - - - -标志尺寸
36(默认)|数字标量|行或列向量|矩阵|[]
标记大小,指定为数值标量、向量、矩阵或空数组([]
).大小控制每个标记的面积,单位为点的平方。空数组指定36点的默认大小。指定大小的方式取决于指定的方式x
而且y
以及你想要的情节外观。下表描述了最常见的情况。
所需的标记大小 | x 而且y |
深圳 |
例子 |
---|---|---|---|
所有点的大小相同 |
标量 |
指定 x =兰迪(1100);y = randn (100 1);swarmchart (x, y, 100) |
|
每个点的大小不同 |
长度相同的向量 |
|
指定 x =兰迪(1100);y = randn (100 1);Sz = randi([70 2000],100,1);深圳swarmchart (x, y) 指定 x =兰迪(1100);y = randn (100 1);Sz = randi([70 2000],100,2);深圳swarmchart (x, y) |
每个点的大小不同 |
至少有一个 |
|
指定 x =兰迪(1100);Y = [randn(100,1) randn(100,1)+5];Sz = randi([70 2000],100,1);深圳swarmchart (x, y) 指定 x =兰迪(1100);Y = [randn(100,1) randn(100,1)+5];Sz = randi([70 2000],100,2);深圳swarmchart (x, y) |
c
- - - - - -标志的颜色
颜色名称|RGB值|RGB三联体矩阵|彩色地图索引的向量
标记颜色,指定为颜色名称、RGB三元组、RGB三元组的矩阵或色度图索引的向量。
颜色名称—颜色名称,例如
“红色”
,或一个简短的名字,如“r”
.RGB triplet -一个三元素行向量,其元素指定颜色的红、绿、蓝成分的强度。强度必须在这个范围内
[0, 1]
;例如,(0.4 0.6 0.7)
.RGB三联在创建自定义颜色时很有用。矩阵的RGB三联-一个三列矩阵,其中每一行是一个RGB三联。
色度图索引向量-与色度图索引长度相同的数值向量
x
而且y
向量。
指定颜色的方式取决于所需的配色方案以及绘制一组坐标还是多组坐标。下表描述了最常见的情况。
配色方案 | 如何指定颜色 | 例子 |
---|---|---|
所有的点都用一种颜色。 |
从下表中指定颜色名称或短名称,或指定一个RGB三元组。 |
绘制一组点,并指定颜色为 x =兰迪(1100);y = randn (100 1);c =“红色”;swarmchart (x, y, [], c)
绘制两组点,并使用RGB三元组将颜色指定为红色。 x =兰迪(1100);y = randn (100 1);C = [0.6 0 0.9];swarmchart (x, y, [], c) |
使用色彩图给每个点分配不同的颜色。 |
指定数字的行或列向量。这些数字索引到当前的颜色映射数组中。最小的值映射到颜色图中的第一行,最大的值映射到最后一行。中间值线性映射到中间行。 如果您的图有三个点,请指定列向量,以确保这些值被解释为色度图索引。 只有当 |
创建一个向量 x =兰迪(1100);y = randn (100 1);c = 1:10 0;swarmchart (x, y, [], c) colormap (gca),“冬天”)
|
为每个点创建自定义颜色。 |
指定一个m × 3的RGB三元组矩阵,其中m是图中点的数量。 只有当 |
创建一个矩阵 x =兰迪(1100);y = randn (100 1);c =兰德(100 3);swarmchart (x, y, [], c) |
为每个数据集创建不同的颜色。 |
指定一个n × 3的RGB三元组矩阵,其中n为数据集的数量。 您可以使用此方法,只有当至少一个 |
创建一个矩阵 x =兰迪(2100 2);Y = [randn(100,1) randn(100,1)+5];C = [1 0 0;0 0 1);swarmchart (x, y, [], c) |
常用颜色的颜色名称和RGB三联
颜色名称 | 短名称 | RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
“红色” |
“r” |
(1 0 0) |
“# FF0000” |
|
“绿色” |
“g” |
(0 1 0) |
“# 00 ff00” |
|
“蓝色” |
“b” |
(0 0 1) |
“# 0000 ff” |
|
“青色” |
“c” |
(0 1 1) |
“# 00飞行符” |
|
“红色” |
“m” |
(1 0 1) |
“#”就 |
|
“黄色” |
“y” |
(1 1 0) |
“# FFFF00” |
|
“黑色” |
“k” |
(0 0 0) |
“000000 #” |
|
“白色” |
“w” |
(1 1 1) |
“# FFFFFF” |
|
这里是RGB三组和十六进制颜色编码的默认颜色MATLAB®在许多类型的情节中使用。
RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 - 0.7410) |
“# 0072 bd” |
|
(0.8500 0.3250 0.0980) |
“# D95319” |
|
(0.9290 0.6940 0.1250) |
“# EDB120” |
|
(0.4940 0.1840 0.5560) |
“# 7 e2f8e” |
|
(0.4660 0.6740 0.1880) |
“# 77 ac30” |
|
(0.3010 0.7450 0.9330) |
“# 4 dbeee” |
|
(0.6350 0.0780 0.1840) |
“# A2142F” |
|
mkr
- - - - - -标记类型
“o”
(默认)|“+”
|‘*’
|“。”
|“x”
|……
标记类型,指定为该表中列出的值之一。
标记 | 描述 | 产生的标志 |
---|---|---|
“o” |
圆 |
|
“+” |
加号 |
|
“*” |
星号 |
|
“。” |
点 |
|
“x” |
交叉 |
|
“_” |
水平线 |
|
“|” |
垂直的线 |
|
“广场” |
广场 |
|
“钻石” |
钻石 |
|
“^” |
Upward-pointing三角形 |
|
“v” |
向下的三角形 |
|
“>” |
三点三角形 |
|
" < " |
只左向三角形 |
|
“五角星形” |
五角星形 |
|
“卦” |
六角星形 |
|
“填充”
- - - - - -选项填充内部的标记
“填充”
选项填充标记的内部,指定为“填充”
.使用这个选项标记有一个脸,例如,“o”
或“广场”
.没有面且只包含边的标记根本不会渲染(“+”
,‘*’
,“。”
,“x”
).
的“填充”
选项设置MarkerFaceColor
财产的散射
对象“平”
和MarkerEdgeColor
财产“没有”
.在本例中,MATLAB绘制标记面,但不绘制边缘。
资源描述
- - - - - -源表
表格|时间表
包含要绘制的数据的源表,指定为表或时间表。
xvar
- - - - - -表变量包含x坐标
一个或多个表变量索引
表变量包含x-coordinates,指定为一个或多个表变量索引。
指定表索引
使用下列任何索引方案指定所需的一个或多个变量。
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
变量类型:
|
|
策划你的数据
指定的表变量可以包含数值或类别值。
要绘制一个数据集,请为指定一个变量xvar
还有一个变量yvar
.例如,创建一个包含三个正态分布随机值变量的表。画出X1
而且Y
变量。
台=表(randn (100 1), randn (100 1) + 10, randn (100 1),...“VariableNames”,{X1的,“X2”,“Y”});swarmchart(资源描述,X1的,“Y”)
要将多个数据集绘制在一起,请为指定多个变量xvar
,yvar
,或两者兼而有之。如果为两个参数指定多个变量,则每个参数的变量数量必须相同。
例如,绘制X1
而且X2
变量的x设在和Y
变量的y设在。
swarmchart(资源描述,{X1的,“X2”},“Y”)
也可以使用不同的索引方案xvar
而且yvar
.例如,指定xvar
作为变量名和yvar
作为索引号。
swarmchart(资源描述,X1的3)
yvar
- - - - - -表变量包含y坐标
一个或多个表变量索引
表变量包含y-coordinates,指定为一个或多个表变量索引。
指定表索引
使用下列任何索引方案指定所需的一个或多个变量。
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
变量类型:
|
|
策划你的数据
指定的表变量可以包含数值、类别、日期时间或持续时间值。
要绘制一个数据集,请为指定一个变量xvar
还有一个变量yvar
.例如,创建一个包含三个正态分布随机值变量的表。画出X1
而且Y
变量。
台=表(randn (100 1), randn (100 1) + 10, randn (100 1),...“VariableNames”,{X1的,“X2”,“Y”});swarmchart(资源描述,X1的,“Y”)
要将多个数据集绘制在一起,请为指定多个变量xvar
,yvar
,或两者兼而有之。如果为两个参数指定多个变量,则每个参数的变量数量必须相同。
例如,绘制X1
而且X2
变量的x设在和Y
变量的y设在。
swarmchart(资源描述,{X1的,“X2”},“Y”)
也可以使用不同的索引方案xvar
而且yvar
.例如,指定xvar
作为变量名和yvar
作为索引号。
swarmchart(资源描述,X1的3)
斧头
- - - - - -目标轴
轴
对象|PolarAxes
对象|GeographicAxes
对象
目标轴,指定为轴
对象,PolarAxes
对象,或GeographicAxes
对象。如果不指定坐标轴,MATLAB绘制当前坐标轴,或者创建一个轴
对象,如果不存在。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:swarmchart (randi (4500 1), randn(500 1),“MarkerFaceColor”,“红”)
指定红色填充标记。
请注意
这里列出的属性只是一个子集。有关完整列表,请参见散射特性.
XJitter
- - - - - -抖动类型x维
“没有”
|“密度”
|“兰德”
|“randn”
的抖动类型(点的间距)x-dimension,指定为以下值之一:
“没有”
-不要抖动点。“密度”
-使用核密度估计抖动点y对二维图表。如果在三维图表的二维中指定此选项,则会根据三维中的核密度估计抖动点。例如,设置XJitter
而且YJitter
来“密度”
的核密度估计z.“兰德”
-随机抖动点,均匀分布。“randn”
-抖动点随机,服从正态分布。
XJitterWidth
- - - - - -最大抖动以及x维
负的标量
的最大抖动量(点之间的偏移量)x-dimension,指定为数据单位中的非负标量值。
例如,要将抖动宽度设置为相邻点之间最短距离的90%,则取唯一值之间的最小距离x
和规模的0.9
.
XJitterWidth = 0.9 * min(diff(unique(x)));
ColorVariable
- - - - - -包含颜色数据的表变量
表变量索引
表变量包含颜色数据,指定为源表的变量索引。
指定表索引
使用下列任何索引方案来指定所需的变量。
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
变量类型:
|
|
指定颜色数据
指定ColorVariable
属性控制标记的颜色。变量中的数据控制标记填充颜色时的MarkerFaceColor
属性设置为“平”
.该数据还可以控制记号笔的轮廓颜色,当MarkerEdgeColor
被设置为“平”
.
指定的表变量可以包含任何数字类型的值。取值有以下两种形式:
线性映射到当前色度图的一列数字。
RGB三元组的三列数组。RGB三元组是三元素向量,其值指定特定颜色的红、绿、蓝分量的强度。强度必须在这个范围内
[0, 1]
.例如,(0.5 - 0.7 (1)
指定浅蓝色的阴影。
当你设置ColorVariable
属性,MATLAB更新CData
财产。
算法
的高斯核密度估计加权的均匀随机值抖动群图中的点y
和每个点的相对数量x
的位置。此行为对应于默认值“密度”
的设置XJitter
财产的散射
对象时调用swarmchart
函数。
每个点的最大差值x
位置是相邻之间最小距离的90%x
默认值:
Spread = 0.9 * min(diff(unique(x)));
您可以通过设置来控制传播XJitterWidth
财产的散射
对象。
版本历史
介绍了R2020bR2022b:用表格创建的情节在轴和图例标签中保留特殊字符
类传递表和一个或多个变量名时swarmchart
函数、轴和图例标签现在显示表变量名中包含的任何特殊字符,例如下划线。以前,特殊字符被解释为TeX或LaTeX字符。
例如,如果传递一个包含名为Sample_Number
到swarmchart
函数中,下划线出现在轴和图例标签中。在R2022a和更早的版本中,下划线被解释为下标。
释放 | 表变量标签“Sample_Number” |
---|---|
R2022b |
|
R2022a |
|
若要以TeX或LaTeX格式显示轴和图例标签,请手动指定标签。例如,绘图后,调用包含
或传说
函数使用所需的标签字符串。
包含(“Sample_Number”)传说([“Sample_Number”“Another_Legend_Label”])
R2021b:将表直接传递给swarmchart
控件传递一个表来创建图swarmchart
函数后面跟着要绘制的变量。当您将数据指定为表时,轴标签和图例(如果存在)将自动使用表变量名进行标记。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。