3D диаграмма рассеяния, окрашенная по Z-Value
Я гуглил некоторое время, но не смог найти решение своей проблемы. Я - пользователь Matlab-любитель, и я хотел бы создать трехмерную диаграмму рассеяния, для этого у меня есть матрица, содержащая несколько точек в трехмерном пространстве:
>> size(A)
ans =
2511 3
Мне удалось создать трехмерную диаграмму рассеяния с помощью функции "scatter3", но теперь я немного застрял в цветовом кодировании трехмерных точек.
scatter3 (А (:,1), А (:,2), А (:,3));
Это будет отображать данные, но теперь я хотел бы добавить цветовую кодировку, основанную на z-значении... Сами цвета не имеют большого значения. Это может быть спектр радуги или спектр температуры или что-то еще. Я просто хотел бы раскрасить их, чтобы различать z-значения точек.
Кто-нибудь может мне помочь с этим? Спасибо!
1 ответ
Вы должны дать еще несколько аргументов scatter3
,
scatter3(X,Y,Z,S,C);
S
позволяет указать области для каждого маркера (с вектором) или одну область для всех маркеров, в то время как C
позволяет указать цвет. Если C
является вектором, его значения будут линейно сопоставлены с текущей картой цветов. Чтобы изменить цветовую карту, позвоните colormap(jet)
например. Смотрите документацию на colormap
,
Извините, если это сбивает с толку. Укороченная версия:
scatter3(A(:,1),A(:,2),A(:,3),9,A(:,3));
colormap(jet); %# or other colormap