【发布时间】:2016-05-17 22:09:16
【问题描述】:
我期待它能够工作,但我错过了 MATLAB 帮助文件中的“句柄向量”。
LEGEND(M),其中 M 是字符串矩阵或字符串元胞数组,并且
LEGEND(H,M) 其中 H 是线和补丁的句柄向量 有效。
myone = ones(20,1);
mytwo = ones(20,1)+1;
rows = vertcat(myone,mytwo);
mylabels = {'Alpha', 'Beta'};
figure
grouplabels = mylabels(rows);
h = scatter3(rand(40,1),rand(40,1),rand(40,1),20,rows,'filled'), ...
view(-33,22)
legend(handle(h),grouplabels)
xlabel('X')
ylabel('Y')
zlabel('Z')
【问题讨论】:
-
h本身是handle,但不是向量,而是单个标量散布系列对象的句柄。无论如何,请参阅this post。 -
不幸的是,这是 MATLAB 散点图中的一个已知错误,需要下载补丁(或等到更新版本)。 mathworks.com/support/bugreports/1283854
-
Mathworks 建议
gscatter()也是一个选项,并且似乎与legend()一起正常工作 -
@gariepy,这个错误无关紧要。它只影响 2015b,不影响其他版本。在这种特殊情况下,问题显然是不同的,并且可以在所有其他 Matlab 版本上重现。
-
@gariepy 你能用 gscatter 制作一个 3D 图吗?我试过了,但我搞砸了 2D 上的投影 3D 空间。
标签: matlab matlab-figure