matlab - marcas - ¿Hay alguna manera de poner líneas de cuadrícula encima de un diagrama de contorno?
como poner marcas de registro en photoshop (1)
Estoy usando la función contourf para crear una gráfica de contorno:
Me gustaría que aparezcan líneas de cuadrícula en la parte superior del avión que muestra los contornos.
Encontré una solución, pero solo funciona en 2D (es decir, cuando ves el gráfico de contorno en 2D) que involucraba los dos comandos siguientes:
grid on
set(gca,''layer'',''top'');
Sin embargo, las líneas de la cuadrícula no aparecen cuando se ven los ejes en 3D. ¿Hay alguna manera de hacer esto simplemente?
Puede lograr eso utilizando la manipulación de objetos de line
que vuelve a escribir las líneas de la cuadrícula, o una pequeña herramienta FEX llamada gridxy . Por ejemplo, permite recrear una figura que tenga las mismas propiedades:
figure
set(gcf,''Renderer'',''OpenGL'')
%# plot surface and contour
Z = peaks;
surf(Z), hold on
[~,h] = contourf(Z); %# get handle to contourgroup object
%# change the ZData property of the inner patches
hh = get(h,''Children''); %# get handles to patch objects
for i=1:numel(hh)
zdata = ones(size( get(hh(i),''XData'') ));
set(hh(i), ''ZData'',-10*zdata)
end
Y agrega las líneas de cuadrícula adicionales:
v = get(gca);
hg=gridxy(get(gca,''XTick''),get(gca,''YTick''), ''Color'',[1,1,1]*0.25,''Linestyle'','':'');
set(hg,''Zdata'',repmat(v.ZLim(1)+eps,[1 numel(get(hg,''Ydata''))]));
Sin embargo , ¿hay alguna razón para no usar surfc
? Por ejemplo:
Z = peaks(20);
surfc(Z);
view(-45, 20);