5
Quiero trazar puntos 3D en Matlab
en diferentes colores dependiendo de un valor. Tengo el siguiente código, pero esto no funciona porque plot3d
necesita un vector.Trazar puntos 3D en Matlab
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
¿Cómo hacer eso en Matlab?
I creen en lugar de 'los (tamaño (x))' el vector de tamaño en scatter3 puede ser valor escalar para el mismo tamaño o un vacío ('[] ') para el tamaño predeterminado. – yuk
Sí, puede haber un escalar. Solo quiero tener dos colores de marcador. ¿Existe la posibilidad de agregar esto en una línea en lugar de un bucle? – Razer
Simplemente tendrá que ajustar su mapa de colores. Entonces para dos colores (rojo y azul) harás algo como este 'colormap ([ones (50,1) * [1 0 0]; ones (50,1) * [0 0 1]])' Esto hará la división de color en el medio del rango de datos. Si quieres que esté en un número específico, debes escalar los que están (n-a, 1) unos (n + a, 1) en consecuencia – zamazalotta