Участок 3D очков в Матлаб - PullRequest
       1

Участок 3D очков в Матлаб

7 голосов
/ 23 февраля 2012

Я хочу построить 3D-точки в Matlab разными цветами в зависимости от значения.У меня есть следующий код, но это не работает, потому что plot3d нужен вектор.

x = vdhf_data.data(:,1);
y = vdhf_data.data(:,2);
z = vdhf_data.data(:,3);
data = vdhf_data.data(:,4);

grid on
hold all

for k=1:length(x)
    if data(k) < 6  
        plot3d(x(k), y(k), z(k), 'ws--', 'MarkerEdgeColor', 'r', 'MarkerFaceColor', 'r')
    else
        plot3d(x(k), y(k), z(k), 'ws--', 'MarkerEdgeColor', 'g', 'MarkerFaceColor', 'g')
    end
end

Как это сделать в Matlab?

1 Ответ

10 голосов
/ 23 февраля 2012

Я бы использовал

scatter3(x,y,z,ones(size(x)),data,'filled')

Это позволит построить все точки одинакового размера и раскрасить их в соответствии со значением данных, используя текущую цветовую карту. Вы также можете использовать данные для масштабирования размера каждой точки.

scatter3(x,y,z,data.^-2,data,'filled')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...