Displaced axis on figures
Mostrar comentarios más antiguos
I am about to make an animation of changes on a map and I produce several figures to do so with same axis. However, the axis of my figures occationaly changes place slightly. I am using m_map tools to plot:
for i = 1:30
(imports new Data)
m_proj('Stereographic','lon',[-50],'lat',[70],'rad',10,'rectbox','on'); %
m_pcolor(Longitude,Latitude,Data); % Plots the data on a map
m_grid; % Creates a grid on the map
colorbar
set(gca, 'CLim', [-50,165]); % Max and min on colorbar
axis image
end
Why are the figures changing the axis? Thank you in advance.
Respuestas (1)
Chad Greene
el 30 de Abr. de 2015
I'm guessing your data bounds might be changing with each frame? I recommend doing as little as possible inside the loop. Instead of initializing a new projection for each frame, just initialize once. And instead of calling a colorbar multiple times, just call it once. The axis image command is probably where the limits are getting altered--so instead of letting axis image decide how to set the axis limits, set them explicitly. Like this:
% First frame:
m_proj('Stereographic','lon',[-50],'lat',[70],'rad',10,'rectbox','on'); %
h = m_pcolor(Longitude,Latitude,Data); % Plots the data on a map
m_grid; % Creates a grid on the map
cb = colorbar;
ylabel(cb,'my colorbar');
caxis([-50,165]); % Max and min on colorbar
axis image
ax = axis;
% All the other frames:
for k = 2:30
(imports new Data)
set(h,'CData',Data)
caxis([-50,165]);
axis(ax)
end
I changed your i variable to k because i is built-in as the imaginary unit.
Categorías
Más información sobre Grid Lines, Tick Values, and Labels en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!