Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab散点图分类x轴数据_Matlab - Fatal编程技术网

Matlab散点图分类x轴数据

Matlab散点图分类x轴数据,matlab,Matlab,我有一个类似于下面的数据集(除了我有>50个不同的组),我想用x轴上的类别做一个散点图。如果我手动排序数据,我知道如何做到这一点,但数据集非常大,所以我想自动化这一点 扩展数据是从excel读取的单元格数组: xdata = ['group1' 'group1' 'group1' 'group1' 'group1' 'group1' 'group2' 'group2' 'group2' 'group3' 'group3' 'group3' 'group3' 'group3']'; ydata =

我有一个类似于下面的数据集(除了我有>50个不同的组),我想用x轴上的类别做一个散点图。如果我手动排序数据,我知道如何做到这一点,但数据集非常大,所以我想自动化这一点

扩展数据是从excel读取的单元格数组:

xdata = ['group1' 'group1' 'group1' 'group1' 'group1' 'group1' 'group2' 'group2' 'group2' 'group3' 'group3' 'group3' 'group3' 'group3']';
ydata = rand(14,1);

scatter(xdata,ydata,'jitter')

我将根据您删除的问题修改我的答案:

% Your data
xdata = {'group1' 'group1' 'group1' 'group1' 'group1' 'group1' 'group2' 'group2' 'group2' 'group3' 'group3' 'group3' 'group3' 'group3'}';
ydata = rand(14,1);

% Transform categorical to integers
[labels, ~, xdata_idx] = unique(xdata);

% Plot!
scatter(xdata_idx , ydata)

% Add labels
set(gca , 'XTick' , unique(xdata_idx), 'XTickLabels' , labels)

我将根据您删除的问题修改我的答案:

% Your data
xdata = {'group1' 'group1' 'group1' 'group1' 'group1' 'group1' 'group2' 'group2' 'group2' 'group3' 'group3' 'group3' 'group3' 'group3'}';
ydata = rand(14,1);

% Transform categorical to integers
[labels, ~, xdata_idx] = unique(xdata);

% Plot!
scatter(xdata_idx , ydata)

% Add labels
set(gca , 'XTick' , unique(xdata_idx), 'XTickLabels' , labels)

如果
xdata
是一个单元格数组,您应该将其定义为单元格数组(即
xdata={'group1'…}
),如果
xdata
是一个单元格数组,您应该将其定义为单元格数组(即
xdata={'group1'…}
),谢谢!是否可以获得x轴标签?我猜你会使用
unique
来实现这一点?是的,
unique”会给你标签,但你还必须设置
XTick`以确保标签位于正确的位置。我更新了答案。谢谢!是否可以获得x轴标签?我猜你会使用
unique
来实现这一点?是的,
unique”会给你标签,但你还必须设置
XTick`以确保标签位于正确的位置。我更新了答案。