Я ожидал, что это сработает, но мне не хватает того, что является «вектором ручек», из файла справки MATLAB.Легенда о разбросе3 в Matlab
ЛЕГЕНДА (M), где М представляет собой матрицу строка или массив ячеек строк и
ЛЕГЕНДА (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', но не вектор, а дескриптор скаляр рассеивать объект серии. В любом случае, см., Например, [этот пост] (http://stackoverflow.com/questions/14006678/creating-legend-for-scatter3-plot-matlab). –
К сожалению, это известная ошибка в диаграммах рассеяния MATLAB и требует загрузки патча (или ожидания до более новой версии). http://www.mathworks.com/support/bugreports/1283854 – gariepy
Mathworks предполагает, что 'gscatter()' также является опцией и, по-видимому, корректно работает с 'legend()' – gariepy