Plot a 3d domain with colors determined by 3d array
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have 3 vectors: X(N), Y(N), Z(N) that define a space in 3D, let's call it D = [X(1),X(N)] x [Y(1),Y(N)] x [Z(1),Z(N)]. I have a matrix with values at each point in D, called out(N,N,N). How can I plot the space D as points with colors determined by the values given in out(N,N,N)?
2 Commenti
  Cris LaPierre
    
      
 il 15 Gen 2021
				What type of 3D plot are you creating? Scatter? Line? Contour? Mesh? Surface?
Risposte (1)
  Cris LaPierre
    
      
 il 15 Gen 2021
        
      Modificato: Cris LaPierre
    
      
 il 16 Gen 2021
  
      I would use the following syntax for scatter3
Note that if C is a vector with length equal to the length of X, Y, and Z, then the values in C are linearly mapped to the colors in the current colormap. 
Convert out into a vector using the colon operator:  C = out(:);
To work, X, Y, and Z will have to be the same size as out. You can use meshgrid for that.
Here's a simple example. Note that the color of the markers has nothing to do with their x,y or z locations. It is coming from C.
X=1:5;
Y=11:15;
Z=0.1:0.1:0.5;
[x,y,z]=meshgrid(X,Y,Z);
% Create random values for the color
C = rand(size(x));
scatter3(x(:),y(:),z(:),[],C(:))
colorbar
Vedere anche
Categorie
				Scopri di più su Discrete Data Plots in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
