Help with 3D contours aligned to discrete surface data
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Brantosaurus
 am 11 Okt. 2022
  
    
    
    
    
    Kommentiert: Star Strider
      
      
 am 11 Okt. 2022
            Running the included code produces the included plot. 
Basically a 3D plot of Z along a non-equi-spaced orthogonal mesh in x and y. It generates 3D contours, but they do not lie on the surface. Most are hidden on the reverse side.
Close inspection suggests they appear to lie on a 'smoothed' invisible surface offset from coloured surface. I'm obviously missing something, but if possible, i wish to have black contour lines aligned with the colour interpolated surface.
Data;
figure()
surf(pc,of,c,...
   'LineStyle','-',...
   'EdgeColor',[0.5 0.5 0.5],...
   'FaceColor','interp')
zmin=min(c(:));
zmax=max(c(:));
xlabel 'P_c [bar]'
ylabel '(o/f)_m'
zlabel '{\rho} [kg/m^3]'
set(gca,'xscale','log','yscale','log')
hold on
number=20;
range=zmax-zmin;
inct=range/number;
contourl=zmin:inct:zmax;
contour3(pc,of,c,...
   contourl,...
   'k')
hold off
colormap (jet(256))
colorbar
0 Kommentare
Akzeptierte Antwort
  Star Strider
      
      
 am 11 Okt. 2022
        Reading the files is not an option, so I went straight for the ‘Problem.fig’ file.   
I’m not certain that the contour lines aren’t plotting on the surface, however they appear to be the same colours as the surface, and that may be hiding them.  One option is to make the surface slightly more transparent, and perhaps also to make the lines black (however the line colour does not appear to change) — 
F = openfig(websave('Problem','https://www.mathworks.com/matlabcentral/answers/uploaded_files/1152063/Problem.fig'));
getF = get(F);
Ax = findobj(F, 'Type','Axes');
getAx = get(Ax);
Kids = Ax.Children
Kids(2).FaceAlpha = 0.75;                                   % Necessary (Experiment With Different Values)
hc = Kids(1);
hc.LineWidth = 2;                                           % Optional
hc.LineColor = 'k';                                         % Optional
I tried a few other experiments, however this is the only one that appears to work reliably.  
.
8 Kommentare
  Star Strider
      
      
 am 11 Okt. 2022
				As always, my pleasure!  
I wish there was a better (at least a more robust) solution.  
Weitere Antworten (0)
Communitys
Weitere Antworten in ThingSpeak Community
Siehe auch
Kategorien
				Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
			
	Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


