How to remove axis from a figure?

1 549 views (last 30 days)
Davide Magnelli
Davide Magnelli on 8 Nov 2017
I have a script as follow:
if true
% Set up MOVIE object
vidObj = VideoWriter('Field_adv_diff_2D.avi');
vidObj.Quality = 100;
vidObj.FrameRate = 1;
open(vidObj);
set(gca,'nextplot','replacechildren');
% %%CONTOUR PLOT
% ZLevels = 288:1:300;
Naux = 200;
Minimum = min(min(node_state));
Maximum = max(max(node_state));
levels = Minimum:(max(max(node_state))-min(min(node_state)))/200:Maximum;
% k = 6000;
% Mesh = Mesh_simulator;
Xg = min(Mesh.xy(1,:)):(max(Mesh.xy(1,:))-min(Mesh.xy(1,:)))/Naux:max(Mesh.xy(1,:));
Yg = min(Mesh.xy(2,:)):(max(Mesh.xy(2,:))-min(Mesh.xy(2,:)))/Naux:max(Mesh.xy(2,:));
[XI,YI]=meshgrid(Xg,Yg);
ZI = zeros(length(XI),length(YI));
% for k = (time_sim/4):(time_sim/4):time_sim
for k = [source(4)+1 100:100:source(5)]
for ii=1:size(Mesh.ele,2)
xx = [Mesh.xy(1, Mesh.ele(1,ii)) Mesh.xy(1, Mesh.ele(2,ii)) Mesh.xy(1, Mesh.ele(3,ii))];
yy = [Mesh.xy(2, Mesh.ele(1,ii)) Mesh.xy(2, Mesh.ele(2,ii)) Mesh.xy(2, Mesh.ele(3,ii))];
IN = inpolygon(XI, YI, xx, yy);
% ZI(IN) = (node_state(Mesh.ele(2,ii),k) + node_state(Mesh.ele(3,ii),k) + node_state(Mesh.ele(4,ii),k)) / 3;
% oppure:
points = find(IN);
for i = 1:length(points)
N(i,:) = Get_shapeN_2D_DIFFUSION (Mesh,ii,[XI(points(i)) YI(points(i))]);
ZI(points(i)) = N(i,:)*[node_state(Mesh.ele(1,ii),k); node_state(Mesh.ele(2,ii),k); node_state(Mesh.ele(3,ii),k)];
end
end
figure;
contourf(XI,YI,ZI,levels,'LineStyle','none','LineColor',[0 0 0]);
% colorbar();
caxis([Minimum Maximum])
% colormap(jet)
colormap(gray)
map = colormap;
cmap = flipud(map);
colormap(cmap);
% hold on
% plot(sensor(1,:),sensor(2,:),'ow');
% hold off
title(sprintf('Field map at step %d %f sec)',k));
drawnow('expose');
axis equal;
currFrame = getframe(gcf);
writeVideo(vidObj,currFrame);
end
close(vidObj);
end
The figures are created with cartesian axis, I need to remove it because I should create a video with them.
Someone could help me?
Many thanks
  2 Comments
Davide Magnelli
Davide Magnelli on 8 Nov 2017
The figures are created with cartesian axis, I need to remove it because I should create a video with them. Someone could help me?
Jagadeesh Korukonda
Jagadeesh Korukonda on 22 Aug 2022
set(gca,'XColor', 'none','YColor','none')
set(gca, 'color', 'none');

Sign in to comment.

Answers (3)

Sascha Power
Sascha Power on 28 Sep 2021
Just use the following command:
axis off
  2 Comments
Petr Dohnalik
Petr Dohnalik on 15 Feb 2022
Similar problem. This works for me perfectly!
Larry Gulliver
Larry Gulliver on 18 Mar 2022
this answer made me laugh and worked perfect. Thank you.

Sign in to comment.


M
M on 8 Nov 2017
set(gca,'visible','off')
  2 Comments
Tijs Maas
Tijs Maas on 9 May 2019
Thanks! This removes the axis, but I still see ticks on the edges in 2019a! Acquisition_5.mat.png
M
M on 10 May 2019
Try this command:
set(gca,'xtick',[])

Sign in to comment.


Mariana Saenz
Mariana Saenz on 30 Jul 2019
Edited: Mariana Saenz on 30 Jul 2019
set(gca,'XColor', 'none','YColor','none')
  1 Comment
Majid
Majid on 13 Nov 2021
I like it! It removes the axis but not the blank white background!

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!